Create a filter query for Microsoft Graph that works equivalent to "contains"
This appears to be the only alternative that will get you the list you want without filtering all users yourself
https://graph.microsoft.com/v1.0/me/people?$search=Esteban&$top=100000
As per this blog post the microsoft-graph api only supports $filter with
equals (eq)
not equals (ne)
greater than (gt)
greater than or equals (ge)
less than (lt), less than or equals (le)
and (and)
or (or)
not (not)
startswith
any
and $search is only supported for "messages” and “person” entities.
You can use the $search query parameter, but you must include the parameter ConsistencyLevel=eventual for it to work. Also, $top can have a maximum value of 999.
https://graph.microsoft.com/v1.0/users?$top=999&ConsistencyLevel=eventual&$search="displayName:Esteban"
As you know, Graph API doesn't support your requirement now. My suggestion is to get the user list first and then do in-memory filter. This way also applicable to other no-supported Graph API.
Meanwhile, make sure to vote up the existing feature request in User Voice or submit a new one.