A viewport is really matching the opengl notion of viewport only defining the size of the rendered content not the content itself.
You could use a Layer for this like here: https://playground.babylonjs.com/#0LYEC3#2
The pg also highlights techniques to hide meshes depending of the camera active with layerMask
But be careful layer !======== layerMask