Apollo typePolicy for child query

I’m trying to build a resolver chain with cache on a child resolver.

The query is like this:

query GetStores {
  stores {
    region
    pricingScheme {
      electronics
      grocery
    }
  }
}

Where the stores endpoint does not respond with the field pricingScheme. Instead I build a separate resolver for this field like so:

const resolvers = {
  Query: {
    stores: async () => {
      return getStores();
    }
  },
  Store: {
    pricingScheme: async ({region}) => {
      return getPricingScheme(region)
    }
  }
}

Most of the store will be in a common region, and thus it will, so it will be nice to be able to reference the cache for pricingScheme if it already exists, as it only depends on region.

However, following the cache-redirect instructions and writing a read function in the typePolicy for pricingScheme, the read function seems to be hit after the getPricingScheme fetch is made. Therefore, the cache is never actually read from

      typePolicies: {
        Store: {
          fields: {
            pricingScheme: {
              read(existing) {
                return { ...existing };
              },
            },
          },
        },
      },

Has anyone encountered the same issue, or am I setting the typePolicy incorrectly?