If the key is OK, and the spark plug is OK (you need to clean it, inspect it, and test it) I think it is time to check the tappet clearances. If the exhaust clearance is much larger than it should be, you've probably found the problem, but if it is correct, it still doesn't mean the valve is OK. It could still be sticking or have a loose seat.

The other thing you should do is remove the cooling air shroud and check that the cooling fins are clear. Obstructed air flow will cause overheating, and your symptoms are somewhat consistent with that. Overheating is also a leading cause of valve seats coming loose.

Incidentally and more or less off topic, I recently tried giving a spark plug a burst of carb cleaner after I'd scraped it and gapped it. Made the insulator look like a new one, all the way down the cone to the base. Runs nicely too.