there are two independent transitions (one for each scene) and no, they’re not perfectly in sync. internally, the first one is started, then some small but non-zero time elapses, then the second is started. because transitions are time-based, rather than frame-based, when the “tween” (or lerp) happens on the next render frame, the “t” values of the two transitions will be ever-so-slightly non-equal, so the derived positions will be ever-so-slightly non-equal. if your overall transition time is fairly short the difference is often so small you don’t notice, but if you have long transitions then it can become noticeable.
storyboard had (and presumably it’s still the same in the fork of it now known as composer) a built-in hard-coded 1ms delay on the first transition to try to get it to sync “better” with the second. but that was really only a band-aid and doesn’t truly fix the sync. (and doesn’t help at all if that non-zero intervening time happens to be significantly LESS than 1ms, as can happen with top-of-the-line devices – in that case the delay on the first transition can actually make the desync worse!)
one way to get two independent groups to transition at exactly the same rate is to put them both in a larger container group, and use a single transition on that container group. neither storyboard nor composer use this approach, so you’d have to DIY. or you could DIY a frame-based approach and manually adjust both groups’ coordinates in an enterFrame loop. etc, hth