The search term was getting surrounded by asterisks.
Yes, and they are wildcard characters, and in the case of the Users list table at
wp-admin/users.php, those asterisks are being added by
wp-admin/includes/class-wp-users-list-table.php (see source on GitHub for WordPress v6.1), so that a
LIKE '%<keyword>%' query is performed by default.
So to fix the issue, yes, I’d also use
trim( $search, '*' ). But you can also use the raw search keyword, e.g. using