### Elasticsearch Version

all serverless

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

all

### Problem Description

Creating a time series instance in Serverless fails with the following error:

```
elasticsearch.exceptions.RequestError: RequestError(400, 'illegal_argument_exception', 'Settings [index.time_series.end_time,index.time_series.start_time,index.routing_path] are not available when running in serverless mode')
```

### Steps to Reproduce

I used a custom Python client script to create an index

```
from elasticsearch import Elasticsearch
import sys
import argparse
import os

if os.environ.get('API_KEY') is None or os.environ.get('ELASTICSEARCH_URL') is None:
    print(f"Missing environment variables 'API_KEY' and 'ELASTICSEARCH_URL'")

api_key = os.environ.get("API_KEY")
elasticsearch_url = os.environ.get("ELASTICSEARCH_URL")

print(f"Using api key: {api_key}")
print(f"Using Elasticsearch url: {elasticsearch_url}")

client = Elasticsearch(
  elasticsearch_url,
  api_key=api_key
)

parser = argparse.ArgumentParser(description='Elasticsearch TSDB indexing')
parser.add_argument('dataset', help='The set of documents to index as a Json file')
parser.add_argument('index', help='The index where data will be indexed')

args = parser.parse_args()

mappings = {
    "settings": {
      "index": {
        "mapping.total_fields.limit": 10000,
        "codec": "default",
        "routing_path": [
          "cloud_region",
          "pod_id"
        ],
        "time_series": {
          "start_time": "2023-09-01T00:00:00",
          "end_time": "2023-09-30T23:59:59"
        }
      }
    },
    "mappings": {
        "properties": {
            "@timestamp": {
                "type": "date"
            },
            "cloud_region": {
                "type": "keyword",
                "time_series_dimension": "true"
            },
            "pod_id": {
                "type": "keyword",
                "time_series_dimension": "true"
            },
            "counter": {
                "type": "integer",
                "time_series_metric": "counter"
            },
            "gauge": {
                "type": "double",
                "time_series_metric": "gauge"
            }
        }
    }
}


delete_response = client.indices.delete(
    index=args.index,
    ignore_unavailable=True
)
print(f"Delete response: {delete_response}")

create_response = client.indices.create(
    args.index,
    body=mappings
)
print(f"Create response: {create_response}")
```

### Logs (if relevant)

_No response_
server/src/main/java/org/elasticsearch/cluster/metadata/IndexMetadata.java
this.customData,
            this.inSyncAllocationIds,
            this.requireFilters,
            this.initialRecoveryFilters,
            this.includeFilters,
            this.excludeFilters,
            this.indexCreatedVersion,
            this.routingNumShards,
            this.routingPartitionSize,
            this.routingPaths,
            this.waitForActiveShards,
            this.rolloverInfos,
            this.isSystem,
            this.isHidden,
            this.timestampRange,
            this.priority,
            this.creationDate,
            this.ignoreDiskWatermarks,
            this.tierPreference,
            this.shardsPerNodeLimit,
            this.lifecyclePolicyName,
            this.lifecycleExecutionState,
            this.autoExpandReplicas,
            this.isSearchableSnapshot,
            this.isPartialSearchableSnapshot,
            this.indexMode,
            this.timeSeriesStart,
            this.timeSeriesEnd,
            this.indexCompatibilityVersion,
            this.stats,