A
1) Запускаешь первый рендер приложения, чтоб дернулись все GraphQL-запросы
2) Мониторишь нетворк лейер пока выполнятся все запросы.
3) После того как нетворк лейер выполнил все запросы, получаешь все данные из стора/кеша
4) Рендеришь приложение второй раз, передавая ему уже готовый стейт/кеш полученный на предыдущем шаге.
5) После второго рендера получаешь полную разметку, которую отдаешь клиенту. Ну это если у тебя запросы стали переиспользовать синхронно данные из стора/кэша.