As a side note, most speedos display speed on the "happy" side. By law, the only need to be accurate to -0 / +10% above 50 mph, and -0 / +5 mph below 50 mph. So a speedo that shows 25 mph when you actually go 20 mph meets the law. Same if it reads 55 mph at 50 mph. Or 110 mph when the real speed is 100 mph.
All Toyotas I have owned (8 of them) have always been between 1 and 2 mph above GPS. Most European cars are even bigger offenders, with speedos closer to the +10% limit. On the other hand, my only cars that have been spot on were two Fords and a BMW. Americans are usually more careful about accurate measurements and calibration of instruments. And BMW is obvious - quality comes with price.