Честно говоря не вижу ничего такого чтобы так заморачиваться, усложнять и переусложнять тоже нет смысла)) Берём Nuxt для веба, Flutter для смартфонов, на бэке используйте то что умеете и практикуете. Rest API по старинке используйте, если нужно гибкость Graphql, если нужно все в реальном времени WS вам в помощь, в Graphql есть свое на замену WS.
Я думаю GraphQL для них слишком. А по поводу вебсокетов. Опять же на их уровне, не стоит пока.