Вопрос не имеет единственного ответа и может рассматриваться как основанный на мнениях.
Тем не менее, окончательный выбор вашей архитектуры - где у вас будет одно приложение, которое будет обслуживать бэкэнд для нескольких веб-интерфейсов илинесколько отдельных приложений для каждого внешнего интерфейса - на самом деле не зависит от производительности и полностью независим от того, является ли узел однопоточным или нет.
Это потому, что в отношении масштабируемости и производительности вы, возможно, будете использовать кластермодуль для масштабирования вашего приложения на несколько процессорных ядер, и тогда у вас будет ферма серверов, обрабатывающих входящие запросы. Это верно независимо от вашей архитектуры.
Если бы я был вами, у меня было бы одно приложение, поддерживающее несколько внешних интерфейсов из одного бэкэнда. Предполагая, что вы можете правильно контролировать доступ к бэкэнду (например, веб-пользователи не могут подделывать запросы и создавать помехи мобильному приложению), возможно, проще развернуть одно приложение.