I've always sort of wondered if that speed reading is also affecting the odometer. It doesn't have to, as both are controlled via the computer. If so, people are being cheated because the car would reach the warranty limit earlier than reality. I guess on a longer trip on a roadway with mile markers, I could check that out. I'll try to remember the next time I go far enough to try to make an estimate, but even changing lanes over a long distance could add up to an error when there are curves involved.
But, while I would prefer the speedometer to be perfectly accurate, as I would a gas gauge that actually was empty when reading empty, that doesn't seem to happen. Both my BMWs read higher than reality. In today's cars with an on-board gps, it would be possible to calibrate the speedometer and odometer to be quite accurate. I had a Citroen once where it was fairly easy to tell...the gauge needle wasn't damped. You could see it jump when you braked, and fall when you accelerated...once that jump was minimal, you knew you were almost out of gas as there wasn't enough to slosh around and affect the float!
FWIW, some of that programmed error may be to account for optional tires. While the optional OEM tires are typically within 2% in rolling circumference of each other, to ensure compliance in the EU, that may account for padding the speedometer as there is no input to tell it what tire is on it, or its current state of wear. Note, if they used the gps and the ABS sensors, they could figure out the rotation rate and diameter fairly easily, and compensate. I don't think anyone does that, but my Garmin bicycle computer does...the tech is not all that hard to execute. On it, though, it uses a rotation sensor verses ABS sensors. The TPMS don't report on every rotation, either, so you can't use them...it seems they report about every 30-seconds once they detect rotation, which is one reason why it takes a moment to get a reading when you first start out, or to reset things if you changed tires.