Not getting user_id with universal login

Using the universal login from a php web app. Here’s my auth0 invocation:

use Auth0\SDK\Auth0;
$auth0 = new Auth0([
  'domain' => '',
  'client_id' => '',
  'client_secret' => '',
  'redirect_uri' => '',
  'audience' => '',
  'scope' => 'openid profile user_metadata',
  'persist_id_token' => true,
  'persist_access_token' => true,
  'persist_refresh_token' => true,

$userInfo = $auth0->getUser();
But $userInfo['user_id'] is empty. The userid is stored in $userInfo['sub'] instead. Looks like my scope is getting ignored?

sub is the OIDC standard claim for the user ID.

OK, that makes sense. However, when using a scope of openid email with lock10 I find the user_id under $userInfo['user_id']. Why the change?

Using this scope openid email with universal login I get the $userInfo[‘sub’] still.

sub is the standard, so if it was previously available with user_id, it might have been removed.