O systemd tem algo chamado 'alvos' que podem ser considerados como os níveis de execução do init. O prefdm.service será executado com o "default.target" que é definido por padrão como "graphical.target".
Assim, ao definir o alvo padrão para "multi-user.target" (também conhecido como SystemV runlevel 3), você iniciará tudo menos o servidor X11. Seu vncserver @: [0-9] .service não será afetado por isso.
Para isso, basta digitar:
sudo ln -fs /lib/systemd/system/multi-user.target /etc/systemd/system/default.target