Custom query at top of archive search page, arguments are overridden

In my experience wp_reset_postdata() does not work well. You can try this code:

global $wp_query;
$temp_wp_query = $wp_query;
//Your custom WP_Query code
$wp_query = $temp_wp_query;