Kohler never seem to be able to get their starters matched to their engines
There is an uprated starter with 1 more tooth for your engine
The drive pinion was just too small and prone to jamb after they wear a bit
I have replaced 2 starters that were jambing with the upgraded ones from Stens and they are working well. however they are both less than 1 season old and replaced starters that were 3 to 5 years old so time will tell
The other big problem is bad battery leads
Get a set of jumpers run one from the battery - to some where on the engine near the starter.
Problem goes away = bad ground
No change then clip the other to the starter + ( not solenoid + ) then touch it to the battery +
starter cranks just fine = bad power leads or solenoid
Try again on the solenoid
Starter cranks fine = bad power lead
No difference = bad solenoid