[`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
InternalIndex,
        /**
         * Indicates an index-level setting that is privately managed. Such a setting can not even be set on index creation.
         */
        PrivateIndex,
        /**
         * Indicates that this index-level setting was deprecated in {@link Version#V_7_17_0} and is
         * forbidden in indices created from {@link Version#V_8_0_0} onwards.
         */
        IndexSettingDeprecatedInV7AndRemovedInV8
    }
    private final Key key;
    protected final Function<Settings, String> defaultValue;
    @Nullable
    private final Setting<T> fallbackSetting;
    private final Function<String, T> parser;
    private final Validator<T> validator;
    private final EnumSet<Property> properties;
    private static final EnumSet<Property> EMPTY_PROPERTIES = EnumSet.noneOf(Property.class);
    private static final EnumSet<Property> DEPRECATED_PROPERTIES = EnumSet.of(
        Property.Deprecated,
        Property.DeprecatedWarning,
        Property.IndexSettingDeprecatedInV7AndRemovedInV8
    );
    private Setting(
        Key key,
        @Nullable Setting<T> fallbackSetting,
        Function<Settings, String> defaultValue,
        Function<String, T> parser,
        Validator<T> validator,