Your files are not corrupted.
a) BitcoinCore writes blocks into blk*.dat files not in their order.
b) BitcoinCore keeps orphan blocks in blk*.dat files
This causes differences.
The databases are equal - but the files can be different
Why the old orphans are not removed? Is it a flaw in architecture?