Fala ai Juliano, tudo bem? Vamos lá:
Se o compilador tira tudo, como o interpretador saberá os tipos das coisas?
A ideia é garantirmos toda questão de tipagem, interfaces, decorators, classes, objetos, heranças, modificadores de acesso, etc... Apenas em ambiente de desenvolvimento, ou seja, local em nossas máquinas.
Ao transpilar o código, realmente o TypeScript vai remover tudo e gerar um código JavaScript que seja compatível e que os navegadores entendam.
Se ele adicionasse interface ou um private
(já existe de forma nativa) o navegador não ia entender muito bem.
O navegador ao ler o código, ele não sabe nada de TypeScript, então pra ele todo o código é um código JavaScript normal.
Reforçando, a ideia é garantir uma inteligência e segurança apenas em ambiente de desenvolvimento, em produção a gente confia que o código está funcional.
Desculpa o nível da pergunta, mas é que sou da área de Infra e estou me aprofundando um pouco em Dev.
Magina, sua pergunta foi excelente.
Espero ter ajudado.