In Debian, the desktop file is firefox-esr.desktop. The application is
available using either firefox or firefox-esr.
When you use the --service form of qvm-run it references the desktop
files, as Andrew said.(The Debian package is also called firefox-esr,
and `firefox` is a shell script that calls `firefox-esr`)
In Debian, the desktop file for xterm is `debian-xterm.desktop`, so that's how you
must address it if you use the --service form.
Nautilus is org.gnome.Nautilus.Desktop etc.
Some of the examples you gave have a different root cause, because of
the way that those applications work. For example, gnome-terminal will
call the gnome-terminal server and spawn an instance of the terminal.
Because of the way that disposables work, when that first call completes,
the disposable shuts down, so you never see a terminal window.
Qubes provides qubes-run-gnome-terminal to help with this.