Разработка для UI и для сервера требует разных ментальных настроек. Тут нужны какие-то пояснения. Прежде всего разные приоритеты и разные условия обновления. UI не должен падать и в случае мобильных приложений его дольше обновлять, чем сервер. Сервер же должен быть безопасным, быстрым и не допускать логических ошибок в данных. Разные приоритеты приводят к разным привычкам и разному коду. Понятно, что детали от проекта к проекту могут отличаться, но заметные различия все равно остаются.

В частности, из-за этого довольно тяжело внутри одного дня переключаться между этими активностями.

Обычно какого-то реально общего кода между сервером и UI практически нет.

Даже если один человек занимается и UI, и сервером сохранять разные привычки используя разные языки проще, чем в рамках одного языка писать в разных стилях.

Поэтому один язык для UI и сервера обычно не цель, а может даже наоборот – есть цель разнести UI и сервер по разным языкам.