There's some cleanup to be done in `FeatureMigrationIT` and related classes.

- [x] Convert `static` `preMigrationHook` and `postMigrationHook` to use instance members, retrieved from the `internalCluster()`
- [x] Use Hamcrest matchers as described [in this comment](https://github.com/elastic/elasticsearch/pull/84192/files#r812224067) for better failure output
- [x] Rename `createSimpleSettings` to `createSettings`
- [x] Rename `createSimpleMapping` to `createMapping`
- [x] add support for unknown fields https://github.com/elastic/elasticsearch/pull/84258#pullrequestreview-890890422
server/src/main/java/org/elasticsearch/upgrades/SystemIndexMigrationTaskState.java
* Retrieves metadata stored by the pre-upgrade hook, intended for consumption by the post-migration hook.
     * See {@link org.elasticsearch.plugins.SystemIndexPlugin#prepareForIndicesMigration(ClusterService, Client, ActionListener)} and
     * {@link org.elasticsearch.plugins.SystemIndexPlugin#indicesMigrationComplete(Map, ClusterService, Client, ActionListener)} for
     * details on the pre- and post-migration hooks.
     */
    public Map<String, Object> getFeatureCallbackMetadata() {
        return featureCallbackMetadata;
    }
    public static SystemIndexMigrationTaskState fromXContent(XContentParser parser) throws IOException {
        return PARSER.parse(parser, null);
    }
    @Override
    public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
        builder.startObject();
        {
            builder.field(CURRENT_INDEX_FIELD.getPreferredName(), currentIndex);
            builder.field(CURRENT_FEATURE_FIELD.getPreferredName(), currentFeature);
            builder.field(FEATURE_METADATA_MAP_FIELD.getPreferredName(), featureCallbackMetadata);
        }
        builder.endObject();
        return null;
    }
    @Override
    public String getWriteableName() {
        return SYSTEM_INDEX_UPGRADE_TASK_NAME;
    }
    @Override
    public void writeTo(StreamOutput out) throws IOException {
        out.writeString(currentIndex);
        out.writeString(currentFeature);