It sounds like the solenoid isn’t throwing out the driving dog before spinning the motor, or at least not every time.
Definitely a pre engaged starter.
John
New starter was cheap enough, so given the effort we decided to replace rather than have the hassle of taking it out cleaning it and putting it back together. Seems to have fixed the issue. Might bench test old one to see.