I am not sure if there is a simpler way than writing your own graph traversal that stops at blue nodes.
You could maybe try something along these lines:
Remove all blue nodes, except your starting point.
Find the connected component that contains your starting point. You can use subcomponent. This gives you almost what you want, but without the terminating blue nodes.
Take the union of the first-order neighbourhood of all nodes in this component. Select those which are blue. Add these blue ones to the component.
Create the induced_subgraph of the nodes you collected. This should give the result you are looking for.