Всё примерно как вы сказали. Я бы дополнил. Должно быть два независимых приложения/сервиса.
- Это интерфейс. Vue, Nuxt. И фронт и бэк. Верстка, UI, кэширование на клиенте это всё тут. Тут на backend-е выполняется ssr.
- Это бизнес логика. Вся работа с БД, авторизация и в таком духе. На ружу торчат только API.
Оба приложения могут разрабатываться и деплоиться независимо. Могут даже работать на разных машинах с разной конфигурацией машин,