Event.user.user_id empty on passwordless Post User Registration hook

/**
* Handler that will be called during the execution of a PostUserRegistration flow.
*
* @param {Event} event - Details about the context and user that has registered.
*/
exports.onExecutePostUserRegistration = async (event) => {

  const { MGMT_SECRET, MGMT_DOMAIN, MGMT_CLIENT_ID } = event.secrets;
  const auth0 = require('auth0');
  var managementClient = new auth0.ManagementClient({
    domain: MGMT_DOMAIN,
    clientId: MGMT_CLIENT_ID,
    clientSecret: MGMT_SECRET})

  if (roles.length === 0 && event.user.email && event.user.email.endsWith("@cooper-sheldon.com")) {
    await managementClient.assignRolestoUser({id: event.user.user_id}, {roles: ['rol_sheldon']}) 
  }
};

If you try using this postHook with passwordless users the userID is not present and you are not able to assign them a role. However when I inspect the users in the console afterwards, the user is clearly there.
Can I somehow derive the user_id from the other data present in the event? OR how can I assign a role to a passwordless user from a specific domain?
I have just found this:

The Post-User Registration extensibility point is available for database connections. To learn more, see Database Connections.

This is supremely misleading and confusing as hell. For each of the flows I use I am forced to find custom / different solutions despite the fact they all have the same side effect → user with an id in my display panel. Is there any reason why the hooks are not triggered for users coming from socials or why the user_id is missing for passwordless users?


On a side note I don’t think I should be using domain as the guiding principle, but the question remains. How to do it, please refrain from questioning the approach - assume we have a way of checking if you’re not spoofing it.