Ok, I figured it out. The docs state:
The rendering layer in which this CanvasItem is rendered by Viewport nodes. A Viewport will render a CanvasItem if it and all its parents share a layer with the Viewport’s canvas cull mask.
So I had to add all intermediary objects in my hierarchy to the layer that I want to get rendered in the SubViewport.
This restricts my options, since it means if I used PanelContainer or other drawing objects in the hierarchy those would appear there too, but I don’t need that so this is sufficient for me.
