I believe the standard is +/- 5% for the spedo to be within spec. Your at about 2.5% out of true so there is technically nothing wrong.
Highly doubt your figure of +5%.
In Australia (and most countries of the world) the speedo needs to be calibrated to display a higher than actual speed.
One reason for this is to avoid speeding fines being challenged in court. In Australia for example, the unmanned speed cameras have small tolerances of between 2-3% error in favour of the driver (the manned cameras are fairer to cater for human error). Some countries are even more strict, allowing for 0% error on the part of the calibrated camera.
The error rests with the vehicle - which is why car makers must make the displayed higher than actual.
If the speedo was calibrated to display lower than actual by 5%, then a displayed 100km/h would be 105km/h (rounded).
An unmanned speed camera allowing up to 103km/h, would fine the driver despite their speed displaying 100km/h.
If this was common, then it would be common for drivers to challenge the fines.
This law is fairly common. As a result, Mazda calibrates all vehicles in Japan to usually be between 3-6% above actual. This would also apply to vehicles being exported to the US/Canada.
Car magazines in Australia publish manufactured tolerances in reviews all the time.
Nearly every single Mazda I've seen in the past 5 years has *always* had:
Actual 95km/h
Displayed 100km/h