### Description

As we are about to start leveraging `Weight#count` to compute total hit counts (https://github.com/elastic/elasticsearch/pull/84778) and aggregation counts (https://github.com/elastic/elasticsearch/pull/81322), we should start instrumenting it so that we can get information about time spent in `Weight#count`.
server/src/main/java/org/elasticsearch/search/profile/query/ProfileWeight.java
@Override
    public ScorerSupplier scorerSupplier(LeafReaderContext context) throws IOException {
        Timer timer = profile.getTimer(QueryTimingType.BUILD_SCORER);
        timer.start();
        final ScorerSupplier subQueryScorerSupplier;
        try {
            subQueryScorerSupplier = subQueryWeight.scorerSupplier(context);
        } finally {
            timer.stop();
        }
        if (subQueryScorerSupplier == null) {
            return null;
        }
        final ProfileWeight weight = this;
        return new ScorerSupplier() {
            @Override
            public Scorer get(long loadCost) throws IOException {
                timer.start();
                try {
                    return new ProfileScorer(weight, subQueryScorerSupplier.get(loadCost), profile);
                } finally {
                    timer.stop();
                }
            }
            @Override
            public long cost() {
                timer.start();
                try {
                    return subQueryScorerSupplier.cost();
                } finally {