Any known reasons why graphql responses are always "cached", but not "hit"s?

Having usual /graphql route with cache:

router.post(`/graphql`, ({ cache, removeUpstreamResponseHeader, proxy }) => {
  cache(CACHE_PAGES);
  removeUpstreamResponseHeader('set-cookie');
  proxy('graphql');
});

but that always says oc=cached in x-xdn-t response header, no oc=hit on 2nd+ responses.

Also didn’t noticed any unique keys/ids being passed, the requests input (body, request headers) are persistent.

Edge caching only works on GET requests. We recommend using the @xdn/apollo middleware and convert your graphql queries to gets. If the backend doesn’t support gets, you can convert them back to posts using a proxy route with transformRequest.

See the graphql section here: Moovweb XDN Documentation - Prefetching