Você não citou $HOME , então o valor atual está sendo substituído anterior à execução do comando sudo . Coloque entre aspas simples (') .
EDITAR:
Como notamos (veja comentários), o sudo não chama um subshell para iniciar o comando dado (portanto, não há shell expandindo $HOME ). O comando revisado seria:
sudo -u sztomi -H bash -c 'echo $HOME'
Explicado: sudo comuta o ID do usuário e chama um bash shell que, por sua vez, recebe o echo $HOME , substitui a variável HOME pelo seu valor e finalmente executa o comando echo .
Note que chamar o subshell só é necessário neste exemplo para obter a variável HOME substituída após o sudo trocar o ID do usuário. Não é necessário se você deseja apenas iniciar um único programa sem substituição de variável no ambiente de destino.