There is an ambiguity between information in IFD0 and the ExifIFD. The tags
should exist in one or the other, but not both. Occasionally software writes
a tag to the wrong IFD, or writes it to both when it shouldn't. To account
for this, exiftool attempts to maintain consistency between tags in IFD0
and ExifIFD, and both tags will get updated when you write to either.
You are right that to my knowledge no current camera generates XMP,
but it is only a matter of time...
I haven't seen this junk data that you are talking about, so I can't comment