It could be slop in the mechanism causing, as you said, the starter motor to energize before engaging the flywheel.
Another thing to check is the fly wheel. These engines always stop at one of 3 places. You might have worn teeth in those 3 places on the flywheel. If so the ring can be rotated.