Будем честными, это скорее "иногда не предвзят".
В этот чат уже кидались вещи по райнтайм чекам типов в ts (
https://github.com/pelotom/runtypes), но в большинстве случаев и это не нужно (ибо тебе надо любым доступным способом закрыть пробелы в типах с клиентского ввода и серверных ответов, но после этого тебя вообще не волнует, что там в рантайме)
Ну и да, концепция ts - тонко надстроиться над js. Т.е. то, что ты пытаешься продать как минус, это ровно их цель и была. Да, некоторые косяки js из-за этого всплывают (number вместо разных типов для чисел). Но по сравнению с писаниной на чистом js становится лучше. Можно ли ещё лучше? Конечно, не писать в js-экосистеме. Но не у всех есть такая опция.