Hi Gus,
I would suggest checking whether the ID fields are populated after the form is submitted and the data mapped to the list. You could temporarily display these IDs in the view.
Then also check whether the ID fields still have a value when the form is reopened and the user makes changes.
If the IDs are blank or at any point become blank, then the data would be written as new list items.
Let us know what you find in your troubleshooting. Thank you.