Eu estou no curso PHP: conheça programação orientada a objetos Estou no modulo 3 e no video da atividade quatro: propriedades para leitura.
Ele diz no vídeo que por estar usando readOnly nós não precisamos deixar privada as nossas propriedades do método construtor. Mas gostaria de salientar que é ainda mais seguro, porque embora ninguém possa modificar ainda fica acessível DIRETAMENTE; Isso pode expor detalhes internos da classe, o que vai contra o princípio de encapsulamento e Ao manter a variável private, você controla melhor como e quando o dado é acessado
Manter a variável private oferece flexibilidade. Se, no futuro, você quiser mudar a implementação (talvez adicionar lógica no getter, como cache ou conversão de valor), o código externo não será afetado.