гуглите kiosk mode android
первое что вы должны понимать в react native нет ни какой магии - открываем папочку android и там все как обычно
по вашей задачи важно знать под какие платформы вам нужно делать в старших версиях android kiosk mode есть в sdk в младших приходилось извращаться или делать приложение лаунчером
оптимально вынести его в отдельный npm модуль если нет возможности шарить код в npm то просто как отдельный проект и подключать как сылку на репозиторий
react приложение это всего лишь html+js, его можно отдавать обычным nginx как и любую другую статику, что при этом на бекенде не важно
зы отдельный сервер для бекенда, отдельный для фронтенда конечно тоже бывает но это сильно отдельная история
в свое время тоже задался этим вопросом - большая часть туторилаов приводит пример похожий на то что описали вы, это прекрасно работает на todolist но в реальном проекте оборачивается контейрнером который прокидывает 20-30 пропсов
redux использует context то есть от большего числа connect вы ни в чем не проиграете
если выбор между bootstrap и material-ui в контексте react приложения то я за material-ui, bootstrap бесспорно хорошая библиотека но под react слабо адаптирована
material-ui это сразу react
Backend - REST API, ему плевать что у клиента - react/angular/нативное мобильное приложение или другой сервер, его дело данные обрабатывать и отдавать
Клиент - плевать на чем написан backend, хоть на паскале
их объединяет только документация, все остальное от лукавого