i somehow do not like that next frame thingy in your setup
It's necessary to keep it from looping. The input events are "true" for the entire duration of the frame, so if it didn't wait for the next one it would go into an infinite loop.
the touch action is it in Got Touch?
It's actually using both "Touch Object 2d Event" and "Mouse Pick 2d Event" so that I can test on my PC and on Android. But the behavior is the same with either (they trigger the same transitions).
I've made a change that seems to have at least gotten around the problem. Originally when there was a new queued touch, I was cancelling the current tween, changing the sprite, and then creating a new tween for the remaining angle/time.
Now I've put the sprites on a child object. Instead of canceling the tween and making a new one, I just adjust the child rotation to suit the new sprite and let the original tween continue. I can't see how it's any different from a flow-of-logic perspective. I only made the change because it was a bit more efficient. But so far it seems to have fixed the problem, as well.
It's a mystery!