I’ve done more investigation into this issue. Here is how GDM **seems** to work.
On boot, GDM creates X display :0 on tty7. When the user logs in, GDM launches the desktop environment (in my case, Gnome) on X display :0. When I’m done, I click on “Log Out” in the system menu. Gnome then kills itself and all my processes. GDM detects this and relaunches itself on the :0 X display.
If I just follow the above workflow, only on Xorg session exists at one time and the currently displayed tty on the local machine never changes.
However, Instead of “Log Out”, I can choose “Switch User”. When I do that, Gnome launches a screen locker and then tells GDM to display the user list. GDM then creates display :1 on tty2 and switches the local display to tty2 so that it is presented to the user. I can switch between the lockscreen and the GDM user list by using the Ctrl-Alt-Fn keyboard shortcut.
Sadly, the NoMachine cannot make that jump and seems to continue always attach to the :0 display which, since it is not on the current tty, cannot be displayed.
Hmmm…. Maybe I should just disable Fast User Switching?