### Elasticsearch Version

8.7.0

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

whatever

### Problem Description

Enable TSDB and disable source.

### Steps to Reproduce

```
curl -uelastic:password -HContent-Type:application/json -XPUT localhost:9200/test?pretty -d'{
  "settings": {
    "mode": "time_series",
    "routing_path": "foo"
  },
  "mappings": {
    "_source": {
      "enabled": false
    }
  }
}'
```

The error message you get is `Cannot set both [mode] and [enabled] parameters` but we never tried to set `mode`. I think maybe we want `time series indices only support synthetic source` like we give if you try to disable _source in tsdb.

### Logs (if relevant)

_No response_
server/src/main/java/org/elasticsearch/index/mapper/SourceFieldMapper.java
/*
 * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
 * or more contributor license agreements. Licensed under the Elastic License
 * 2.0 and the Server Side Public License, v 1; you may not use this file except
 * in compliance with, at your election, the Elastic License 2.0 or the Server
 * Side Public License, v 1.
 */
package org.elasticsearch.index.mapper;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.document.StoredField;
import org.apache.lucene.index.IndexOptions;
import org.apache.lucene.search.Query;
import org.apache.lucene.util.BytesRef;
import org.elasticsearch.common.Explicit;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.bytes.BytesReference;
import org.elasticsearch.common.util.CollectionUtils;
import org.elasticsearch.core.Nullable;
import org.elasticsearch.index.IndexMode;
import org.elasticsearch.index.query.QueryShardException;
import org.elasticsearch.index.query.SearchExecutionContext;
import org.elasticsearch.search.lookup.Source;
import org.elasticsearch.search.lookup.SourceFilter;
import org.elasticsearch.xcontent.XContentType;