The problem is the grey pot metal gear on the odometer number stack. It is supposed to be a press fit to the shaft and spin with the shaft (or spin the shaft, one way or other). For years before we started repairing speedos professionally, I fixed the problem by pushing the shaft out with a suitably sized drill bit; the bit then supporting the number wheels with the shaft removed. Set the shaft next to the stack and see where the metal gear sat. Then take a sharp punch and dipple slightly the shaft (at that point) and press back inside. The dimples, like knurling will make the shaft bigger and will require some force to go through the gear.
We currently replace the metal gear and do a complete diassembly and recalibration. Over the years we found most of the reasons why the speedo/odo repairs we had sent out kept coming back. Lack of or dryed out lubrication causes the wheel to drag and the gears clash causing the drive wheel to break free (or break period on later plastic drives). Proper cleaning, lubrication and adjustments (new bushings etc. can make them last as original. See our site: