### Description

![image](https://github.com/elastic/elasticsearch/assets/76245/d0443170-0419-4759-b505-7620ff3d6594)

The execution time of grouping stats by multiple keywords has increased: 1.2 to 1.6 seconds (with doc_partitioning), 4.3 to 6.7 seconds (with shard_partitioning). The equivalent query with the _search API takes 1.8 seconds.

`from nyc_taxis | ... | stats c = count(dropoff_datetime) by trip_type, payment_type, vendor_id`

This regression occurred since July 2, 2023, and I suspect it may be due to the PR: [Support multivalued fields on arbitrary grouping](https://github.com/elastic/elasticsearch-internal/pull/1340).

/cc @nik9000
x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/MultivalueDedupe.java
@Override
                public Block.Ref eval(Page page) {
                    return field.eval(page); 
                }
            };
            default -> throw new IllegalArgumentException("unsupported type [" + elementType + "]");
        };
    }
    /**
     * Result of calling "hash" on a multivalue dedupe.
     */
    public record HashResult(IntBlock ords, boolean sawNull) {}
    /**
     * Build a {@link BatchEncoder} which deduplicates values at each position
     * and then encodes the results into a {@link byte[]} which can be used for
     * things like hashing many fields together.
     */
    public static BatchEncoder batchEncoder(Block.Ref ref, int batchSize) {
        
        
        return switch (ref.block().elementType()) {
            case BOOLEAN -> new MultivalueDedupeBoolean(ref).batchEncoder(batchSize);
            case BYTES_REF -> new MultivalueDedupeBytesRef(ref).batchEncoder(batchSize);
            case INT -> new MultivalueDedupeInt(ref).batchEncoder(batchSize);
            case LONG -> new MultivalueDedupeLong(ref).batchEncoder(batchSize);
            case DOUBLE -> new MultivalueDedupeDouble(ref).batchEncoder(batchSize);
            default -> throw new IllegalArgumentException();
        };
    }
    private abstract static class MvDedupeEvaluator implements EvalOperator.ExpressionEvaluator {