Olá Leandro, tudo bem?
Excelente pergunta! Na verdade, as validações podem ser consideradas invariantes sim, pois elas garantem que o objeto esteja sempre em um estado válido. Porém, a implementação delas pode variar de acordo com o contexto em que o objeto é utilizado.
No caso do CPF e EMAIL, faz sentido implementar as validações diretamente no VO, pois esses valores são únicos e não podem ser repetidos em outros objetos. Já no caso da quantidade de telefones possíveis em um Aggregate Root, faz sentido implementar a validação no próprio Aggregate Root, pois essa limitação é específica para aquele objeto e não é uma característica do VO em si.
Portanto, a implementação das validações pode variar de acordo com o contexto em que o objeto é utilizado, mas elas são importantes para garantir que o objeto esteja sempre em um estado válido.
Espero ter ajudado e bons estudos!