How are access permissions prioritized when multiple modules implement them?
Have a look at this feature request Allow other modules to alter gnode_node_access's forbidden result, especially this part of it:


  If the group node's gnode_node_access module doesn't find a reason to return neutral, or to grant access, it returns a AccessResult::forbidden(). This prevents any other module from granting access. ...


So to "determine the priority of multiple modules arranging permissions for the same node" (as in your question): if the Group module denies access, then there is no way for any other module to overrule that access.

Maybe not what you like to hear/read, but this is how access is handled via Group module.