As others have said, the Bendix gear and the shaft it rides on is proably the issue.
As the starter engages, the Bendix gear is that little gear that “flies” up to engage the teeth of the flywheel and then drops back out when the engine starts.
A big percentage of the time, what happens is that the helical shaft that the Bendix gear runs on is lubed and that lube gets old, attracts dirt, and dries out.
Make sure the Bendix gear doesn’t have damaged teeth at the top of the gear. Sometimes the teeth get chewed from incomplete engagement with the flywheel such that the Bendix won’t smootly engage and it “bounces” out just as it touches the flywheel.
Clean that shaft the Bendix runs on with spray degreaser and then re-lube it with either silicon spray or a spray oil. Test and there will be a strong chance that will solve your problem.
Grouse