This is an outcome of how the node labels are generated. Currently the label for a FlowNode comes from the nearest parent with a WorkspaceAction defined (tied to a node). It is not looking at child nodes, nor is it evaluating block scoping to match a node to its blocks.
To fix this, block scoping must be tracked as the flow graph is walked, and a stack of all current scopes must be maintained.
I am looking at how to implement that, but handling this correctly is rather complex and tends to recurse, so I am unsure on ETA.