In summary: carb, flywheel key, and valves are all good.
New coil made no difference so it's something affecting the kill wire that's causing the poor running.
I'll try bertsmobile1 suggestion of bypassing each safety switch in turn to see if the problem goes away.
It's weird though, that the spark is only weakened by the problem and not cut off completely :confused2: