Brilliant!? So now you have your "fun of DIY" mood back!
Well done.
I have dissected a dead mouse this evening, extracted the encoder, connected it up to my old prototype board and experienced the same issue.? I also tried a really basic encoder that also behaved in the same way, so I think it is the encoder I am using that is unusual.
I think your idea of using a mouse encoder and a 3d printed wheel is really good.
Have a great weekend