Since mullvad-gui is a graphical application, it needs a display to work.
Running commands with rc.local doesn’t provide the necessary envs, so it will crash.
Also, the application needs to run as ID 1000 (user) to work properly, so something like that should work:
export DISPLAY=:0
sudo -u user "/opt/Mullvad VPN/mullvad-gui" &
The simplest way to do this is to use bind-dirs on /etc/mullvad-vpn. This is what is done in sys-mullvad, and will store
all settings, including account, location, and allocated device.
I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.