The new realVNC creates a pulseaudio server instance and populates it with a virtual sink (for its remote audio that only works on the paid versions of VNC) and hides the actual 3.5mm jack.
The solution changing the startup files such that it doesn't do that. What worked from me was to copy /etc/vnc/pulse/daemon.conf to ~/.vnc/pulse/daemon.conf and then in the new file commenting out these two lines:
load-default-script-file = yes default
default-script-file = /etc/vnc/pulse/default.pa