The accuracy of the speedometer and odometer will vary based on tire size and even the amount of tire wear, since a worn tire is smaller than a brand new one. I've had many cars from many manufacturers over the last 40 years of driving and I would say every single one showed an actual higher speed than GPS and this started before GPS was widely available.
Car manufacturers need a reliable way to gauge speed and the only sensible way to do that is to measure the speed of rotation of a tire(s) and convert that to speed. They cannot control what tires are on the car so all or nearly all of them show a slightly higher speed than actual. 6% seems a little high but I don't think it is a conspiracy to inflate the efficiency of the car. It's just a small buffer built in for tolerances, different tire brands and sizes and of course, the required legal CYA. If the speedo read low, people would probably try to sue the car mfg's to recover ticket fees, lost time, emotional distress, etc after receiving a speeding ticket...