sounds like the speedo needs a good cleaning, or something is binding, possibly even the needle touching the glass .... the odo runs off a spiral gear driven by the cable, the speedo is turned by a bell with a magnet inside, which is driven by the cable ....
here's the guts - if the odo is working and the speedo is moving at all, there's no "broken gear" in the trans, and even if the trans gear was bad, it is accessed directly, without even removing the trans, let alone disassembling it - cross that mechanic off your call list
Bill