I ran out of time to test it but I did conceive of a workaround of sorts, wherein a branching list consults a variable before transporting the player. Once I figured out that using 'exits' as exits was shooting myself in the foot, and they're more functional as 'dialogue' triggers, the rest of my project went much more smoothly.
So the way I would solve this now is by creating a reusable 'dialogue' script which consults a variable with if/thens - various events alter the variable, which determine where in the branching list you "exit" and which room you end up in.