Update 2: it wasn't the carb. It was fuel starvation!
It turns out the fuel intake at the bottom of the tank was blocked with crud. I hadn't realised because the bike was running fine - until I took it out yesterday and it coughed to a halt. I had to nurse it home on one (very starved!) cylinder...
Anyway, it's all cleaned up and working properly now. I assume the difficult starting was due to low fuel level in the float chamber shortly after turning the ignition on: fuel flow was so restricted there mustn't have been enough fuel for the choke to work.