### Description

Not sure if it's a regression or not but when grouping by just one keyword field, the null group is not returned:
```
from employees | stats by gender | sort gender 
```
should return [F, M, null] yet only [F, M] are.

It looks like the hashing function (whether ordinal or not) ends up dropping null along the way. 
This doesn't happen with multiple keys as long as the keyword is not the first key:

```
from employees | stats by languages, gender | sort desc
```

```
null | null
null | F
null | M
etc...
```

x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/action/EsqlActionIT.java
assertThat(getValuesList(results), empty());
    }
    public void testShowInfo() {
        EsqlQueryResponse results = run("show info");
        assertThat(
            results.columns(),
            equalTo(List.of(new ColumnInfo("version", "keyword"), new ColumnInfo("date", "keyword"), new ColumnInfo("hash", "keyword")))
        );
        assertThat(getValuesList(results).size(), equalTo(1));
        assertThat(getValuesList(results).get(0).get(0), equalTo(Build.current().version()));
        assertThat(getValuesList(results).get(0).get(1), equalTo(Build.current().date()));
        assertThat(getValuesList(results).get(0).get(2), equalTo(Build.current().hash()));
    }
    public void testShowFunctions() {
        EsqlQueryResponse results = run("show functions");
        assertThat(results.columns(), equalTo(List.of(new ColumnInfo("name", "keyword"), new ColumnInfo("synopsis", "keyword"))));
        assertThat(getValuesList(results).size(), equalTo(new EsqlFunctionRegistry().listFunctions().size()));
    }
    public void testInWithNullValue() {
        EsqlQueryResponse results = run("from test | where null in (data, 2) | keep data");
        assertThat(results.columns(), equalTo(List.of(new ColumnInfo("data", "long"))));
        assertThat(getValuesList(results).size(), equalTo(0));
    }
    public void testTopNPushedToLucene() {
        BulkRequestBuilder bulkDelete = client().prepareBulk();
        bulkDelete.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
        for (int i = 5; i < 11; i++) {
            var yellowDocId = "yellow_" + i;
            var yellowNullCountDocId = "yellow_null_count_" + i;
            var yellowNullDataDocId = "yellow_null_data_" + i;