O problema parece ser que o shell em segundo plano que irá se transformar em nohup para executar o sleep ou o omxplayer está recebendo um SIGHUP antes que ele se transforme em nohup e configure o manipulador de sinal para ignorar.
ssh -t pi 'trap HUP "" ; omxplayer file.mp4 </dev/null &>/dev/null &'
funciona para mim todas as vezes, enquanto algumas das outras abordagens como sleep 0
às vezes falham.