Once https://github.com/elastic/elasticsearch/issues/98503 is done, we can use our minimum version numbers in the SystemIndexMappingUpdate service instead of the old `Version` types. Mappings will be updated for a system index when all nodes have a matching descriptor mappings version for a system index, but this version is greater than what's stored in the mappings metadata.
server/src/main/java/org/elasticsearch/cluster/ClusterState.java
chunkedSection(metrics.contains(Metric.BLOCKS), (builder, params) -> {
                builder.startObject("blocks");
                if (blocks().global().isEmpty() == false) {
                    builder.startObject("global");
                    for (ClusterBlock block : blocks().global()) {
                        block.toXContent(builder, params);
                    }
                    builder.endObject();
                }
                if (blocks().indices().isEmpty() == false) {
                    builder.startObject("indices");
                }
                return builder;
            }, blocks.indices().entrySet().iterator(), entry -> Iterators.single((builder, params) -> {
                builder.startObject(entry.getKey());
                for (ClusterBlock block : entry.getValue()) {
                    block.toXContent(builder, params);
                }
                return builder.endObject();
            }), (builder, params) -> {
                if (blocks().indices().isEmpty() == false) {
                    builder.endObject();
                }
                return builder.endObject();
            }),
            
            chunkedSection(
                metrics.contains(Metric.NODES),
                (builder, params) -> builder.startObject("nodes"),
                nodes.iterator(),