Eu não sei nada sobre o xdg-open, mas eu sei algo sobre o Emacs. O comando async-shell não funciona para você? Se não, um dos comandos assíncronos do Emacs de baixo nível deve definitivamente fazer o truque. Consulte o link para obter informações sobre isso.
Se você não consegue fazer isso funcionar, deixa eu saber; Se start-process não pode fazer isso por você, existe um bug no Emacs (ou o xdg-open é um comando muito estranho!)