It sounds like an electronic problem.. If you have a timing light, put that on and watch it flash as the engine stops. If the spark dies before the revs do, then the cdi or ignition coil is failing. If it starts to die out but the spark keeps flashing the timing light right down to the last couple or turns of the motor, then it won't be the ignition.
A real common problem with those is the starter brushes. They wear out and they get stuck sometimes/often.
The starter relay has two windings to operate the plunger that closes the contacts. One set of windings earths internally in the relay, and the other set of windings earth through the starter. If the starter brushes are not making good contact the starter relay doesn't get enough power through both sets of windings to pull the plunger and close the contacts. Then you get a click.
I'd use a jumper lead straight to the starter's terminal, or, now you have the body off, straight to the starter lead going to the starter. Put another jumper to an earth and the starter motor should spin. If it doesn't spin, or if it struggles to turn, then it needs pulling out and stripping and a new set of brushes. Easy job. The new brushes come with a new mounting plate and springs and all ready to slip in.