Olá Jade, tudo bem?
No Spring Data JPA, as projeções baseadas em classe são implementadas por meio de uma interface, e não por meio de uma classe de valor (VO). Quando você define uma projeção baseada em classe, o Spring cria uma implementação dinâmica da interface de projeção em tempo de execução. Essa implementação é criada usando o recurso de proxy dinâmico do Spring Framework.
O proxy dinâmico é uma classe que implementa a interface de projeção e delega as chamadas de método para um objeto interno. Esse objeto é criado usando o construtor padrão da classe de projeção. Portanto, o Spring não faz um "new" na classe de projeção, mas sim usa o construtor padrão para criar um objeto interno que será usado para preencher a projeção.
Espero ter ajudado e bons estudos!