Change post order by meta key, per post basis

Don’t try to make WP_Query, or SQL, do this. In the backend, don’t save artist_last_name save something like artist_sort_name instead, and set it to either first or last name accordingly, then sort on that normalized key.

To sort conditionally with WP_Query— that is, to ignore my advise above and try to make WP_Query/SQL do this– you would need to write a filter and some relatively complicated SQL that would not likely be very efficient– that is, it would likely execute slowly.

See the following for a similar question/answer:

https://wordpress.stackexchange.com/a/134001/21376