Eu não acho que você gostaria de manter o módulo mkhomedir.so de alterar todos os arquivos de forma recursiva, já que public_html pode não ser a única pasta / arquivo que você tem em seu esqueleto. Mas, até onde sei, o módulo não permite a não recursão ou a exclusão de outros diretórios específicos do umask.
Você pode executar um script depois para criar o diretório public_html ou apenas modificar as permissões do diretório public_html já criado usando o módulo pam_exec.so. Veja: PAM: Executar um comando antes do pam_mkhomedir?
Um outro pensamento é que você poderia investigar a alteração do grupo em seus arquivos / pastas iniciais para um grupo que somente o Apache tem acesso e definir o umask como 0026. Isso daria ao grupo Apache acesso total ao diretório pessoal do usuário, mas não outros usuários no sistema.