[`Setting.versionSetting`](https://github.com/elastic/elasticsearch/blob/0652a5915586abbcdfdfffa91a391740f0147752/server/src/main/java/org/elasticsearch/common/settings/Setting.java#L1275) (only used by index compatibility setting) does not use the `Validator` passed in - its just discarded. Looks like it's been like this since it was introduced by https://github.com/elastic/elasticsearch/pull/83264 in 8.2.0.

Enabling this causes some tests to fail. Enabling this may cause problems for indexes that have a wonky setting already applied.
server/src/main/java/org/elasticsearch/common/settings/Setting.java
}
        final String found = settings.get(key);
        if (found != null) {
            return found;
        }
        return defaultValue.apply(settings);
    }
    
    void checkDeprecation(Settings settings) {
        
        if (this.isDeprecated() && this.exists(settings)) {
            
            final String key = getKey();
            String message = "[{}] setting was deprecated in Elasticsearch and will be removed in a future release.";
            if (this.isDeprecatedWarningOnly()) {
                Settings.DeprecationLoggerHolder.deprecationLogger.warn(DeprecationCategory.SETTINGS, key, message, key);
            } else if (this.isDeprecatedAndRemoved()) {
                Settings.DeprecationLoggerHolder.deprecationLogger.critical(
                    DeprecationCategory.SETTINGS,
                    key,
                    "[{}] setting was deprecated in the previous Elasticsearch release and is removed in this release.",
                    key
                );
            } else {
                Settings.DeprecationLoggerHolder.deprecationLogger.critical(DeprecationCategory.SETTINGS, key, message, key);
            }
        }
    }
    /**
     * Returns <code>true</code> iff the given key matches the settings key or if this setting is a group setting if the