gdm3 has an annoying bug for Nvidia Optimus users not using wayland. If you run your nvidia driver kernel modeset (modeset=1), you enable "prime sync" which means you no longer have tearing on your laptop screen. prime sync only works with modeset=1, so most Optimus users will want to enable this, unless they don't use their laptop's display, or don't care about tearing.
In Ubuntu 18.10, the nvidia packages activated modeset=1 by default, and the upgrade to 19.04 preserves this setting.
19.04 (new install) does not activate modeset=1, to avoid a big gdm3 bug.
Problem: gdm3 kills the nvidia card from displaying to external monitors when your use modeset=1. Bug still exists in Ubuntu 19.04. Speculation is that gdm3 sees the driver in modesetting operation, and decides wayland must be in use, and there is no way to get it to behave otherwise. It must be a hard bug to fix. An Ubuntu dev (Daniel van Vugt) says that is really a nvidia bug: something about the nvidia driver requires root access, which gdm3 denies to it (unlike all the other display managers).
lightdm does not have this problem (sddm from KDE also does not have this problem).
EDIT: Apart from using lightdm, there is a workaround for gdm3 (which Pop!OS uses out of the box. System76 sells Optimus hardware so a good Nvidia experience is mission-critical). The fix is a one-liner, see the 'Jeremy Soller' comment on the relevant Ubuntu bug report.
Note that this means Pop!OS decided to keep gdm3 and use this workaround, instead of using lightdm, which I suppose is an authoritative vote on which is the best approach.