### 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/compute/src/main/java/org/elasticsearch/compute/operator/OrdinalsGroupingOperator.java
public record OrdinalsGroupingOperatorFactory(
        List<ValueSourceInfo> sources,
        int docChannel,
        String groupingField,
        List<Factory> aggregators,
        int maxPageSize,
        BigArrays bigArrays
    ) implements OperatorFactory {
        @Override
        public Operator get(DriverContext driverContext) {
            return new OrdinalsGroupingOperator(sources, docChannel, groupingField, aggregators, maxPageSize, bigArrays, driverContext);
        }
        @Override
        public String describe() {
            return "OrdinalsGroupingOperator(aggs = " + aggregators.stream().map(Describable::describe).collect(joining(", ")) + ")";
        }
    }
    private final List<ValueSourceInfo> sources;
    private final int docChannel;
    private final String groupingField;
    private final List<Factory> aggregatorFactories;
    private final Map<SegmentID, OrdinalSegmentAggregator> ordinalAggregators;
    private final BigArrays bigArrays;
    private final DriverContext driverContext;
    private boolean finished = false;
    
    private final int maxPageSize;