Got answer here: https://github.com/apollographql/apollo-client/issues/12472?reload=1
The cache would only accept that like you do it in the first post if you already had the
__typename
in. The cache doesn't know about your schema, so it can't make up__typename
properties that don't already come from the server.