Well we’ve seen before, where through retreats the fundamental rules of the game are overridden. Specifically the ability of a unit to move more or beyond it’s abilities.
Hence the ability of an infantry to move 2 spaces, as opposed to just 1, because they have strafed and retreated forward. Under no other condition, can an infantry move 2 spaces. The same applies to ships, tanks, etc. (Save for on a transport - but technically the transport does the moving.)
The rules are very specific, ALL units must retreat together. And must retreat to a friendly/neutral seazone - that you attacked from.
Since you are not allowed partial retreats, you must retreat as a block. It is valid to retreat to any seazone you attacked from, therefore you can go through the straight.
The other possibility, is what if by attacking Sz91 you become encircled with no other possibility of retreat save the straight. It would have to be allowed. This can be done by an old soviet trick called “pairing” where as you are not at war, have built a destroyer, or the germans let your battleship out, have gone and followed the german navy around (in the same zone), for the purpose of preventing retreat if they declare war on you.
That’s my food for thought anyways. And this rule does not apply to any other canal or straight location on the board, because subs cannot pass through them.