Would say it is an issue in the dash board, ...
speed sensor pulsating signal is received by the dash board and converted for the use of the rest of the instruments in the car, will bet that also the speedometer uses the converted signal, but the odometer would only count pulses from the speed sensor. So my guess is that the converting circuit is not working.
Only chance to be the speed sensor would be, it is sending a very weak signal and the converting circuit is not getting that low level, but the odometer does.
I would follow Lowell's advice, easy check before diving into the dash board.
Also check all fuses feeding the cluster (F1, F15, F17, F20).
Javier