Есть ли смысл использовать typescript на node.js бэкэнде?
типизация, дженерики, продвинутое ООП, это не круто, а необходимость контроля над ошибками, быстрой навигации, и декомпозирование сложных сущностей, а вобщем более надежная от ошибок разработка сложных систем и более понятная и легкая поддержка кода. Скорее, да, для простых проектов это может быть излишне (дополнительный код), для сложных и больших, наоборот  все окупается. Это как экскаватор и лопата, для мелких ям лопата, для больших котлованов экскаватор.
Есть такое понятие "промышленный язык программирования". Такие языки отличает строгая типизация и наличие модификаторов доступа, обязательное указание типа возвращаемого значения функции и т.д. Короче, эти языки придуманы для "негров из трюма". Типа, вот есть несколько "офицеров в каюте", которые знают, как будет работать некий большой код в целом, и есть "негры в трюме" - они не понимают, как это будет работать, но пишут большие фрагменты всей это большой "простыни".
Ну и вот, чтобы минимизировать последствия от ошибок, которое негры непременно наделают из-за того, что не понимают - что они делают, в конце-то концов? - для этого и существуют строгая типизация и модификаторы доступов.
JavaScript в этом смысле - язык свободных и ответственных людей (каким ещё был, и остаётся, например, Lisp): сам наделал ошибки - сам и исправляй. Но поскольку фронт-енд стал усложняться, и в крупных корпорациях (в данном случае Google) произошло разделение на "офицеров" и "негров в трюме" - в том числе, и касательно javascript-кода, - в Гугле и придумали вариант языка JavaScript с модификаторами и типизацией, "JavaScript для негров из трюма", и назвали его TypeScript.
Вот и вся подноготная. При этом "любой код на JavaScript является кодом TypeScript" (так написано в официальной документации последнего). А что касается ООП, то оно осталось той же версией реализации парадигмы - прототипное ООП (оно и не могло стать другим - тогда это означало бы, как раз, возникновение нового языка). Но его посыпали синтаксическим сахаром, чтобы код стал напоминать синтаксис "промышленных языков" - он неграм более привычен.