Как обновлять код в двух репозиториях?
В таком случае стоит вынести бэкенд в отдельный репозиторий и подключать его как зависимость. Нормальных вариантов решать это через git мне не известно и я очень сомневаюсь что они есть по той простой причине, что git для решения таких задач не предназначен. По сути у вас получается три продукта, связанных между собой разными связями. Две версии фронтэнда (два продукта) связаны между собой общей "основой" (кодом), то есть это аналогично "наследованию" в ООП от общего базового класса. А от бэкенда они "зависят". Причем, могут зависеть от разных его версий (скорее всего будут, рано или поздно). То есть это больше похоже на "композицию" в терминах ООП. Так вот git - он не призван решать проблему зависимостей одного проекта от другого. Для этого нужно использовать менеджер зависимостей. Не знаю, на чем у вас написан проект, но для php это будет composer, для nodejs - npm, для python - pip(pyenv, poetry) и т.п.
Если очень хочется оставаться в рамках монолитного репозитория, варианты придумать можно - но они требуют серьезной проработки, написания вспомогательных скриптов и будут не удобны.
Например. Имеем по репозиторию (или ветке/несколько веток) для каждого проекта. При изменении кода бэкенда в одном из проектов сливаем его с кодом другого проекта, игнорируя при этом все изменения не бэкенда. Практическая реализация этого зависит от структуры кода и вообще вашего workflow. Но история проекта будет не красивой - все эти слияния, в которых еще и игнорируются изменения фронтэнд части... Это будет работать, но... это ужасно.
Ну алгоритм примерно такой:
1. Добавить еще один серверgit remote add server2 https://github.com/user/repo.git
2. Сделать изменения локально
3. Сделать пуш в origin git push origin develop
4.  git fetch server2 - стянуть код с server2 что бы при пуше не ругалось
5. git checkout server2-develop - перейти на ветку где будет храниться код со второго сервера
6. git merge server2/develop - смерджить туда изменения с сервера
7. git cherry-pick d42c389f - смерджить коммит, который содержит изменения бэкенда
8. git push server2 develop - запушить изменения на сервер 2
P.S. именно в таком виде я этот алгоритм не использовал, может что-то работаь не так