Ok did some more digging and I found out why the example works.
The example puts mode=embedded into the URL when launching the flow. You can see that in the source code here:
This means that the mode='embedded' parameter in the Webflow config is not needed.
<h:outputLink value="top-flow-with-embedded-subflow?mode=embedded&tab=1" >
I think this is a bug with Spring WebFlow as it doesn't work the way I think it was intended to.