O comando su não altera a Variável de ambiente HOME no Solaris. É assim que funciona. No Linux e * BSD, su faz reset HOME , eu acho que é uma diferença BSD / SysV. O Bash está se comportando perfeitamente normalmente: ele tenta carregar ~/.bashrc e, como HOME ainda é /root , isso é /root/.bashrc .
A ideia é que, quando você su to root, o shell que você inicia e outros programas ainda procurarão por seus arquivos de configuração em seu diretório inicial. Se você quisesse o ambiente do usuário de destino, você executaria su - .
Se você deseja definir HOME , caso contrário, deixe o ambiente inalterado, defina-o explicitamente.
HOME=~myuser su myuser
Se o bash carrega um arquivo de todo o sistema é uma opção de tempo de compilação. Essa opção está habilitada no Ubuntu, mas desabilitada no OmniOS.