Кирилл Гусарев, ну тогда так. Если бэкенд выступает как API, чтобы с фронтом jsonчиком обмениваться, то смысла держать в одном репозитории не вижу. Если, например, бэкенд и фронтенд написаны на Typescript и могут использовать общие интерфейсы, то я бы монорепу и NX выбрал.
Я ж не знаю что там за "проект" у вас ))
Это организационный вопрос. Если будут 2 команды - то лучше разделить. Пускай каждая коммитит в свой. Так будет меньше споров и конфликтов. Но есть смысл разделять какой-то sub-module для публикации сетевого стандарта или протокола как эти две части друг с другом разговаривают. Это может быть Swagger-файл или GraphQL или SOAP или любой вообще описатель сетевого взаимодействия.