I remember trying to repair my speedo for a NC23 CBR400 I had and it was a nightmare. no matter what I done it never read properly again. Although im sure I was the problem. Iirc those NS400 clocks had similar internals to many other honda clocks. Is the NS125 speedo the same? I know the bezel and layout is different but the internals may be the same, im not 100% sure.
Or perhaps the plastic gear inside is worn out and needs to be replaced. did you open it up?