Contêineres do Docker normalmente e por design são executados no modo não privilegiado. Quando um processo em seu contêiner é executado como raiz, o processo uid de 0 é mapeado para o sistema operacional host como um usuário diferente (normalmente "nobody"). Isso, para que qualquer processo dentro do contêiner possa ler arquivos do sistema operacional host, esses arquivos devem ser legíveis por todo o mundo. Presumivelmente, (caveat emptor desde que eu não estou familiarizado com o código) Docker desconsidera as configurações de umask para garantir que o diretório criado através da opção -v é realmente legível pelo contêiner.
Não tenho tanta certeza sobre os arquivos criados no contêiner via btrfs ou overlayfs, se esses arquivos, que podem ser acessados pelo sistema operacional host, devem ser publicamente legíveis. Também não tenho certeza se a criação desses arquivos é tratada no contêiner ou no sistema operacional host.