The following aggregations don't work well with `time_series` aggregation:

- `sampler`
- `composite`

Any aggregation that returns a `LeafBucketCollector.NO_OP_COLLECTOR` instance as leaf collector.

Also the filter by filter optimisation that a number of aggregations perform doesn't work when executing in time series mode.
#91702 already disables this optimisation in case `time_series` agg is used. We should do that also for the mentioned aggregations.

Separately we should also investigate how to make these aggregations and filter by filter optimisation work with `TimeSeriesIndexSearcher`.
server/src/main/java/org/elasticsearch/search/aggregations/bucket/composite/CompositeAggregationBuilder.java
if (factory == null) {
            return null;
        } else if (factory instanceof NestedAggregatorFactory
            || factory instanceof FilterAggregationBuilder.FilterAggregatorFactory
            || factory instanceof RandomSamplerAggregatorFactory) {
                return validateParentAggregations(factory.getParent());
            } else {
                return factory;
            }
    }
    private static void validateSources(List<CompositeValuesSourceBuilder<?>> sources) {
        if (sources == null || sources.isEmpty()) {
            throw new IllegalArgumentException("Composite [" + SOURCES_FIELD_NAME.getPreferredName() + "] cannot be null or empty");
        }
        Set<String> names = new HashSet<>();
        Set<String> duplicates = new HashSet<>();
        sources.forEach(source -> {
            if (source == null) {
                throw new IllegalArgumentException("Composite source cannot be null");
            }
            boolean unique = names.add(source.name());
            if (unique == false) {
                duplicates.add(source.name());
            }
        });
        if (duplicates.size() > 0) {
            throw new IllegalArgumentException("Composite source names must be unique, found duplicates: " + duplicates);
        }
    }
    @Override