Yes. The target and source servers have the same users and roles, which is why their permissions being absent from the same objects on the target where they exist in the source is very confusing to me.
I also do a pg_restore -l -Fd on the dump file, and I don't see any GRANT or REVOKE statements: should I expect that?
You specified a host in the restore command - since pg_dump doesn't dump global objects like roles are you sure the restore cluster has the necessary roles present?