I’ve worked quite a bit in Vuex and Apollo. In my opinion, they are not mutually exclusive, but I would NOT use Apollo beyond the GraphQL API interaction.
I tend to wrap my GraphQL calls (via Apollo) in Vuex actions / mutations. Responses get assigned to the Vuex store state (sometimes with some sanitization / formatting). I do the same for Axios (REST) calls, and even retrieving data from local storage. I also use Vuex for computed properties, leveraging Vue’s reactivity (nothing to do with GraphQL).
Then there’s SSR, which is a whole other ball of wax…
Basically, that article is well and good as a POC, but not very realistic for a real-world application (IMO).