At first I would like to mention that I am big fan of GraphQL and I use it in many project including big scale. Also thanks for long article.
But there is one super important thing missing. And that is thinking about use case. GraphQL fits great to big, client consumed APIs but it does not fit at all for example microservice or basically any server to server communication. One of the resons when you have simple microservice serving only one endpoint parsing graphql query is too costly. Also with REST infrastructure helps you a lot so you can use CDNs and other reverse proxies for caching, monitoring, rate limiting and so on. And with well designed REST API you can do everything what is available in GraphQL. See https://apisyouwonthate.com .
So for me it is more about who will consume the API / who is the customer. Because when you understand user needs you will know which tool to pick. If you should choose great DX with tons of tools (GraphQL) or you need to utilise the infrastructure and the server performance (REST).