There is metal "dog" that can bind on the starter.
If you don't see it coming out, you're probably best off to remove it and free it on a bench so it slides in/out with whatever type of WD40 product it takes. I've found silicone to be a good lubricant, but others will no doubt prefer something else.
With the starter off the engine. Will it spin when you press the starter button? If so, you should see the gear run out to the end of the shaft as soon as you hit the start button. Then it should return by itself after you let off. I usually put a little bit of White lithium grease on that screw shaft. Then work the gear up and down the shaft a few times.