Not asserting this isn't the case, I've not noticed it, but I can't see why this would be the case for the actual encoding. Decoding I've seen it make a difference but that's mostly the pre-Skylake iGPUs using a poor implementation of QuickSync.
No, it's totally a fact. Software encoding yields you better results in terms of 'quality per megabyte' over hardware encoding unless you are using some real bad sloppy software encoding results. If size efficiency matters more than anything, you use software encoding or you're basically leaving money on the table. Of course the downside is that hardware encoding is a whoooooooooooooole heck of a lot faster.