Oi Claudemir, vamos por partes.
O getter é uma maneira de encapsular sim. Ele se comporta como um método mas o acessamos como se fosse uma propriedade. A vantagem e que se a qualquer momento quisermos executar algum código que faça alguma transformação da propriedade esse código pode ser inserido no getter e todo o restante do código que usa aquela propriedade fica intacto, porque para eles continua sendo uma "propriedade".
Sobre o Typeof no Proxy. Tem como colar a parte do código ou o código apontando onde esta o seu teste? É para eu ser mais preciso. Mas já adianto que no proxy quando chamamos Reflect.get(....)
estamos obtendo o valor da propriedade... por isso o Typeof pode sair string se o retorno é uma string. Com base nesse valor.. podemos realizar alguma modificação e revolver um valor diferente para quem acessou o proxy. Se essa explicação esta ok, beleza, se não, posta o código que eu analiso com carinho.
No Aguardo!