Altamente improvável que o systemd esteja em falta aqui. O Logind não faz nada relacionado a diretórios pessoais (trata da distribuição de permissões para acessar o hardware local para logins locais, e não para logins remotos - para que as pessoas que efetuam login através do SSH não possam espiar sua webcam).
Em vez disso, é muito mais provável que você não tenha feito tudo certo.
Por favor, mostre o conteúdo de seus arquivos de configuração do PAM depois de executar o script. O mais provável é que você tenha perdido um pouco.
Tente desabilitar nscd
, para garantir que não seja um problema de cache.
Verifique seu /etc/skel
; verifique se ele não contém uma referência codificada para /home/$USER
.