I made a test scene in 3D to learn viewports. I did it in 3D because I started following a tutorial, and figured it would be similar in 2D.
When I tried using SubViewports in 2D they seemed to regress massively in functionality. In 3D, they would capture the entire node tree, as long as the objects live on the right Culling layer.
But in 2D, it seems the SubViewport only captures it's direct children?
Not to mention it stops you from transforming viewport children, which it doesnt seem to in 3D.
I couldn't find much information online as to why 2D and 3D seem to behave differently, and if there are any ways around the seeming limitations of 2D viewports.