I'm also pretty sure all cars come from the factory to read a little high. It gives them a cushion zone, so when you are going the speed limit you are actually under and won't get a ticket. My 06 Sti and 05 mini both do the same thing and by the same amount as yours. As far as if your odometer is reading actual mileage I do not know. I would assume it counts tire rotations times circumference of a stock sized tire. While your speedo can have the computer tell it to read 4% higher than what it's calculating.