Okay, I had only the sample csv files to test with, and it seemed to work fine there. Glad you got it working with your dataset too.
No, the Group-Object does not make the Compare-Object more efficient, since the Compare-Object runs before the Group-Object. However, the Compare-Object will remove all entries which are the same on both sides, so the Compare-Object will make the Group-Object more efficient (given that there are unchanged entries; if everything is changed it won’t, of course).