That's a good point. Using the odometer makes it unnecessary to hold a constant speed so no need for a flat road.
The only thing it wouldn't correct for would be any error between the speed and mileage due to friction,wear or needle misalignment.