When using Graphile federated with another service, it seems to make more sense for the key to be on the primary keys of the resource instead of the nodeId. This is because any other resource would be likely to have access to the resource by its primary keys.
This can be worked around by adding @requires(fields: {primary keys}) to each other field and fetching by the keys in __resolveReference but this seemed like a bad solution.