Got a hot take for ya. TypeScript is more dynamic than static.
Sure it checks before runtime, but calling it compile time is generous. It's source-to-source, and it only strips types.
For the language holistically, compiler and runtime together, JS is truth, not the compiler.