Order posts by tags count?

As @Robert hue says you can’t do it directly, you need a filter and a CASE in the orderby eg

$args1 = array (
   'orderby'          => 'tag_count',
   'order'            => 'DESC',
   'post_type'        => 'post',
   'pagination'       => true,
   'posts_per_page'   => '1', // 1 post per page?!
   'meta_key'         => '_thumbnail_id',
   'suppress_filters' => false,
);

function wpse173949_posts_clauses( $pieces, $query ) {
    if ( $query->get( 'orderby' ) != 'tag_count' ) return $pieces;
    global $wpdb;
    if ( ! ( $order = $query->get( 'order' ) ) ) $order="DESC";
    $pieces[ 'fields' ] .= $wpdb->prepare(
        ', (SELECT COUNT(tr.object_id) FROM ' . $wpdb->term_relationships . ' tr'
        . ' JOIN ' . $wpdb->term_taxonomy . ' AS tt ON tt.term_taxonomy_id = tr.term_taxonomy_id'
        . ' WHERE tr.object_id = ' . $wpdb->posts . '.ID AND tt.taxonomy = %s) AS tag_count'
        , 'post_tag' );
    // Treat zero tagged posts as max int (~0).
    $pieces[ 'orderby' ] = 'CASE WHEN tag_count THEN tag_count ELSE ~0 END ' . $order;
    return $pieces;
}

add_filter( 'posts_clauses', 'wpse173949_posts_clauses', 10, 2 );
$query = new WP_Query( $args1 );
remove_filter( 'posts_clauses', 'wpse173949_posts_clauses', 10 );