Как укомплектовать Node + React приложение в общий Workspace?
Чтобы создать все в одной папке, можно сделать следующим образом:
1. Написать фронтенд на react.
2. Написать бекенд на node.

После чего, собрать frontend с помощью webpack (он соберется в папку public, точно не помню).
Далее в node возвращать как статику эту папку : app.use(express.static('path.resolve(__dirname,'./public')))
Далее, я заливал на heroku и все работало.

Чтобы реализовать в двух папках, можно сделать так:
1. Написать фронтенд в одной папке.
2. Написать бекенд в другой.

Соединятся они будут по api - из приложения react шлете запросы на бекенд, получаете данные, работаете с ними:
BASE_URL = 'heroku.com/app/my-app-1233'
fetch(`${BASE_URL}/api/todos/1')

Размещаете отдельно фронетнд, отдельно бекенд.
Я размещал фронетенд на github-pages, бекенд на heroku.

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