How do I remove duplicate users from two merged WP_User_Query objects?

Save the user IDs found in the first query, as an array, before executing the second query.

Then use that array in the exclude value, in the second query args and then run it.

UPDATE

How to put the IDs from the first query into an array, to be used in the second query.

You didn’t use the fields parameter, hence the query returns everything it finds about users (all (default) Returns an array of WP_User objects)

// Put the found user IDs in an array, after executing the first user query
$exclude = array();
foreach ( $search_query->results as $user ) {
 $exclude[] = $user->ID;
}

Now you can successfully use $exclude as the value of the parameter 'exclude', as you did, in the second query.