Это зависит от вашего рабочего процесса разработки.
В Git нужно помнить, что пользователям необходимо загружать всю историю репозитория при извлечении (клонировании) репозитория. Если у вас есть отдельные команды, занимающиеся разработкой на стороне сервера и на мобильных устройствах, они могут не интересоваться тем, что делает другая команда. Необходимость проверки всей истории (особенно для большого проекта) может быть немного обременительной.
С другой стороны, наличие обоих проектов в одном репозитории допускает межпроектные атомарные коммиты. Например, одна и та же фиксация может одновременно изменять протокол, предоставляемый вашим серверным приложением, при обновлении мобильного приложения для использования этого протокола. Без этого есть небольшое окно, в котором код на стороне сервера будет не синхронизирован с мобильным приложением, что может привести к поломке. Опять же, в основном это проблема для больших команд и крупных проектов.
Редактировать: Чтобы ответить на ваш второй вопрос, трудно вырезать историю из одного проекта и добавить ее в другой, но не совсем невозможно.