To add XeLaTeX explicitly in the
TeX-command-list might get things to work (I haven't tried), but it is certainly not very "AUCTeXy", so to speak.
AUCTeX tries to guess the correct engine to be used (say, if you load
fontspec it will ask you about it), and lets you set it for the current file easily, with local variables.
As to your use of
TeX-command-default, as far as I understand, that is not what is expected there.
I suggest you make use of local variables to set this, instead of fiddling with your init file. And let AUCTeX do the hard work, as it does well.
You can add local variables to your file with
M-x add-file-local-variable. You can add two:
TeX-command-extra-options. (You will be asked if these options should be run when you open the file, you may choose to save the option). You should end with something like the following at the bottom of your file:
% Local Variables:
% TeX-engine: xetex
% TeX-command-extra-options: "-aux-directory=./tmp"
"-aux-directory=./tmp" works. I can't test it here, I believe this is a MikTeX only option. It does work though with
With that in place, build your document
LaTeX (and whatever else is needed).