As for the external displays, HDMI out seems to work on my system through the default Intel controller. I haven't tried the DisplayPort or USB-C interfaces. I do know that the proprietary NVIDIA drivers are incapable of efficiently scanning out graphics rendered on the Intel GPU using the standard Linux interface (xrandr --setprovideroutputsource). The NVIDIA driver can use outputs provided by other GPUs but won't provide its own outputs for other GPUs to use. All the guides I've seen say that if you want to output on the ports controlled by the NVIDIA card you have to make that your primary GPU, which of course impacts battery life.
Technically there are open-source drivers for NVIDIA cards (nouveau). And they do support the standard interfaces to let other GPUs control the outputs. They just aren't on par with the proprietary drivers performance-wise, and normally performance is the reason you want hybrid graphics in the first place. However, if you just to use the extra video output ports while rendering on the integrated GPU then the nouveau driver is a viable option.