I think the fix is mainly to have your world scene as a child of the subviewport. The subviewport is basically a texture, and it wont display to anything unless you assign it to display to something. You do this by putting as a child of a subviewport container node. However, the subviewport wont have anything to display unless it has a camera as a child. So make sure to put the entire world scene as the child.
If that doesnt fix anything, make sure the subviewport container is not eating mouse inputs. Since the container is a control node, it will likely automatically take all mouse inputs and not pass them down. Just mess with the option highlighted in the picture until you hopefully get it working!