top_metrics is a metric aggregation that does not support sub aggregations. Currently if you add sub aggregation they will be silently ignored. Instead it should throw an error reporting it to the user. It is very easy to reproduce by using the example in the docs:

```
POST /test/_bulk?refresh
{"index": {}}
{"s": 1, "m": 3.1415}
{"index": {}}
{"s": 2, "m": 1.0}
{"index": {}}
{"s": 3, "m": 2.71828}

POST /test/_search?filter_path=aggregations
{
  "aggs": {
    "tm": {
      "top_metrics": {
        "metrics": {"field": "m"},
        "sort": {"s": "desc"}
      },
      "aggs": {
        "min": {
          "min": {
            "field": "m"
          }
        }
      }
    }
  }
}
```
x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/topmetrics/TopMetricsAggregationBuilder.java
metricField.toXContent(builder, params);
            }
            builder.endArray();
        }
        builder.endObject();
        return builder;
    }
    @Override
    public String getType() {
        return NAME;
    }
    List<SortBuilder<?>> getSortBuilders() {
        return sortBuilders;
    }
    int getSize() {
        return size;
    }
    List<MultiValuesSourceFieldConfig> getMetricFields() {
        return metricFields;
    }
    @Override
    public Optional<Set<String>> getOutputFieldNames() {
        return Optional.of(metricFields.stream().map(mf -> mf.getFieldName()).collect(Collectors.toSet()));
    }
    @Override
    public TransportVersion getMinimalSupportedVersion() {
        return TransportVersion.V_7_7_0;
    }
}