Displaying Craft User Profile based on First and Last Name
See: https://docs.craftcms.com/v3/dev/element-queries/user-queries.html#lastname

{% set slug = 'first-last'|split('-') %}
{% set firstNameSlug = slug[0] %}
{% set lastNameSlug = slug[1] %}

{% set user = craft.users.firstName(firstNameSlug).lastName(lastNameSlug).first %}


We only need to split once, so I spit the slug variable instead.

You were passing slug to the first name method, but you would want to pass firstNameSlug.

Alternately this can be written like this if you know the slug is correct:

{% set slug = 'first-last' %}
{% set user = craft.users.slug(slug).first %}


But you said you don't want to do that so I'll assume you know what you are doing.