[`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
}
    /**
     * Returns <code>true</code> if this setting's value can be checked for equality across all nodes. Only {@link SecureSetting} instances
     * may have this qualifier.
     */
    public boolean isConsistent() {
        return properties.contains(Property.Consistent);
    }
    /**
     * Returns <code>true</code> if this setting has an index scope, otherwise <code>false</code>
     */
    public boolean hasIndexScope() {
        return properties.contains(Property.IndexScope);
    }
    /**
     * Returns <code>true</code> if this setting is deprecated, otherwise <code>false</code>
     */
    private boolean isDeprecated() {
        return properties.contains(Property.Deprecated)
            || properties.contains(Property.DeprecatedWarning)
            || properties.contains(Property.IndexSettingDeprecatedInV7AndRemovedInV8);
    }
    private boolean isDeprecatedWarningOnly() {
        return properties.contains(Property.DeprecatedWarning);
    }
    public boolean isDeprecatedAndRemoved() {
        return properties.contains(Property.IndexSettingDeprecatedInV7AndRemovedInV8);
    }
    /**
     * Returns <code>true</code> iff this setting is a group setting. Group settings represent a set of settings rather than a single value.