If tsdb is enabled and the mapping contains fields of type `match_only_text` then these fields are not visible in the _source
in the search response.

Reproduction of this issue:

```

PUT _index_template/my-weather-sensor-index-template
{
    "index_patterns": [
        "metrics-weather_sensors-*"
    ],
    "data_stream": {},
    "template": {
        "settings": {
            "index.mode": "time_series",
            "index.routing_path": [
                "sensor_id",
                "location"
            ],
            "index.look_ahead_time": "3h"
        },
        "mappings": {
            "properties": {
                "sensor_id": {
                    "type": "keyword",
                    "time_series_dimension": true
                },
                "location": {
                    "type": "keyword",
                    "time_series_dimension": true
                },
                "temperature": {
                    "type": "half_float",
                    "time_series_metric": "gauge"
                },
                "humidity": {
                    "type": "half_float",
                    "time_series_metric": "gauge"
                },
                "@timestamp": {
                    "type": "date",
                    "format": "strict_date_optional_time"
                },
                "message": {
                    "type": "match_only_text"
                }
            }
        }
    },
    "priority": 500,
    "_meta": {
        "description": "Template for my weather sensor data"
    }
}

DELETE _data_stream/metrics-weather_sensors-dev

POST /metrics-weather_sensors-dev/_doc
{
    "@timestamp": "2023-07-04T11:21:15.000Z",
    "sensor_id": "HAL-000001",
    "location": "plains",
    "temperature": 26.7,
    "humidity": 49.9,
    "message": "hey"
}

POST /metrics-weather_sensors-dev/_doc
{
    "@timestamp": "2023-07-04T11:25:42.000Z",
    "sensor_id": "SYKENET-000001",
    "location": "swamp",
    "temperature": 32.4,
    "humidity": 88.9,
    "message": "you"
}

GET /metrics-weather_sensors-dev/_search
```

The search response will not contain the `message` field in the `_source` and this field should exist.
server/src/main/java/org/elasticsearch/index/mapper/MappingParser.java
Map<String, Object> removed = (Map<String, Object>) mapping.remove("_meta");
        if (removed != null) {
            /*
             * It may not be required to copy meta here to maintain immutability but the cost is pretty low here.
             *
             * Note: this copy can not be replaced by Map#copyOf because we rely on consistent serialization order since we do
             * byte-level checks on the mapping between what we receive from the master and what we have locally. As Map#copyOf
             * is not necessarily the same underlying map implementation, we could end up with a different iteration order.
             * For reference, see MapperService#assertSerializtion and GitHub issues #10302 and #10318.
             *
             * Do not change this to Map#copyOf or any other method of copying meta that could change the iteration order.
             *
             * TODO:
             *  - this should almost surely be a copy as a LinkedHashMap to have the ordering guarantees that we are relying on
             *  - investigate the above note about whether or not we need to be copying here, the ideal outcome would be to not
             */
            meta = Collections.unmodifiableMap(new HashMap<>(removed));
        }
        if (mappingParserContext.indexVersionCreated().isLegacyIndexVersion() == false) {
            
            checkNoRemainingFields(mapping, "Root mapping definition has unsupported parameters: ");
        }
        return new Mapping(
            rootObjectMapper.build(MapperBuilderContext.root(isSourceSynthetic)),
            metadataMappers.values().toArray(new MetadataFieldMapper[0]),
            meta
        );
    }
}