Permission denied for schema with security definer
### Summary

I am trying to register users that don't have any public fields, so they go in a private schema. Unknown users have access to the registration function, which has security definer set, so it can write in the private schema. Yet I am getting a "permission denied for schema" error when trying to register new users.

I have
1. granted usage for the `site` schema to the `site_anonymous` user,
2. granted execution to `site_anonymous` for `site.register_user` function.

`site_anonymous` does not have any privileges to the `site_private` schema where the registered user's data is stored. Since I am using `security definer` in the `register_user` function, I thought this should work. However, I am getting this graphql error:

```
{
  "errors": [
    {
      "message": "permission denied for schema site_private",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "registerUser"
      ]
    }
  ],
  "data": {
    "registerUser": null
  }
}
```

And here is the `register_user` function:

```
create or replace function site.register_user(
	name text,
	email text,
	password text,
	zip int,
	city text,
	phone text
) returns site_private.site_user as $$
declare
	site_user site_private.site_user;
begin 
	insert into site_private.site_user (name, email, phone, password_hash, city, zip) values
	(name, email, phone, crypt(password, gen_salt('bf')), city, zip)
	returning * into site_user;
	return site_user;
end;
$$ language plpgsql strict security definer;
```

When in SQL I simply select the `register_user` function as `site_anonymous`, it works without error. Since I am new to this, I may be missing something? My guess is that the GraphQL return subfields are translated into an SQL select instead of using the returned value of the function?

### Additional context

Running in library mode with Express.
Node v14.15.4
Postgres 13.1 via docker
