Eu tive o mesmo problema com o xmonad e encontrei a seguinte solução.
Quando você adiciona openbox a /etc/upstart-xsessions , o script /etc/X11/Xsession.d/99upstart substitui o valor da variável de ambiente STARTUP por init --user , portanto, a opção openbox não é iniciada por X.
Para poder executar xsession selecionado, o upstart emite o evento xsession com a variável de ambiente SESSION igual ao seu xsession. Para xmonad eu escrevi o seguinte script e coloquei em ~/.config/upstart/xmonad.conf :
start on xsession SESSION=xmonad
stop on session-end
exec xmonad
Acho que você deve substituir todos os xmonad por openbox . Se você quiser uma solução para todo o sistema, você deve colocar este script em /etc/init/