If you disable the guivm, you cannot run xterm (or anything X related) in that qube, so there is no need for xterm at all. Hence the suggestion to use qvm-console-dispvm.
qvm-console-dispvm runs xterm in a DispVM based on management_dispvm (default-mgmt-dvm), i.e. not on default_dispvm (which you have set to none).
It has been confirmed that default-mgmt-dvm (its template, to be precise) must have passwordless root installed, i.e. qubes-core-agent-passwordless-root
package.
Is it possible that your default-mgmt-dvm’s template does not have passwordless root, which probably results in what you described?