Partindo da ideia de que tudo no JS é um Object e ele faz o deep freeze, não seria possível aplicar o freeze aos atributos da classe um por um após seta-los no construtor? Não resolveria a questão da segurança em alteração da variável?
constructor() {
this._data = new Date(this._data.getTime());
Object.freeze(_data);
this._quantidade = 1;
Object.freeze(_quantidade);
this._valor = 0.0;
Object.freeze(this);
}