how to force tag page layout to use same as search layout?

You can tell WordPress to use the search.php template whenever viewing tags by using the template_include. It works like this:

function wpse_240429() {

    // IF we're planning on loading a tag template
    if( is_tag() ) {

        // Try to locate the search.php template
        $search_template = locate_template( 'search.php' );

        // If the search template exists
        if( ! empty( $search_template ) ) {

            // Use search.php for display purposes
            return $search_template ;
        }
    }
}
add_action( 'template_include', 'wpse_240429' );

You shouldn’t have to mess with things like pre_get_posts as the query should already be pulled.