### Elasticsearch Version

8.11.0

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

Darwin Kernel Version 22.6.0

### Problem Description

User templates affect Kibana system indices. This is contrary to most system indices https://github.com/elastic/elasticsearch/pull/87933 and causes issues where settings or mappings from the template interfere with the correct working of Kibana.

Based on the description in https://github.com/elastic/elasticsearch/pull/87933 it sounds like the behaviour is intentionally different for Kibana's system indices. Most likely because Kibana used to rely on templates for the user session index. However, it looks like there was maybe a mis-communication because in 8.4.0 Kibana changed this behaviour to no longer rely on templates https://github.com/elastic/kibana/pull/134900 so this should no longer be necessary

### Steps to Reproduce

```
# Based on a real issue a customer faced on ESS
# Create a data stream template matching system indices
curl -X PUT "elastic:changeme@localhost:9200/_index_template/my-ds-template?pretty" -H 'Content-Type: application/json' -d'
{ 
  "index_patterns": [".*"],
  "data_stream": { },
  "priority": 9000,
  "_meta": {
    "description": "Template for my time series data",
    "my-custom-meta-field": "More arbitrary metadata"
  }
}
'

# Create a user able to create Kibana system indices
curl -X PUT "elastic:changeme@localhost:9200/_security/role/grant_kibana_system_indices" -H 'Content-Type: application/json' -d'
{
  "indices": [
    {
      "names": [
        ".kibana*"
      ],
      "privileges": [
        "all"
      ],
      "allow_restricted_indices": true
    }
  ]
}
'             

curl -X POST "elastic:changeme@localhost:9200/_security/user/superduperuser" -H 'Content-Type: application/json' -d'
{
  "password" : "changeme",
  "roles" : [ "superuser", "grant_kibana_system_indices" ]
}
'

# Attempt to create a Kibana system index:
curl -X PUT "superduperuser:changeme@localhost:9200/.kibana_8.11.0_001" -H 'Content-Type: application/json' -d'
{}
'
```

> {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"cannot create index with name [.kibana_8.11.0_001], because it matches with template [my-ds-template] that creates data streams only, use create data stream api instead"}],"type":"illegal_argument_exception","reason":"cannot create index with name [.kibana_8.11.0_001], because it matches with template [my-ds-template] that creates data streams only, use create data stream api instead"},"status":400}


### Logs (if relevant)

_No response_
server/src/main/java/org/elasticsearch/indices/SystemIndexDescriptor.java
private final String primaryIndex;
    /** A description of the index or indices */
    private final String description;
    /** Used to determine whether an index name matches the {@link #indexPattern} */
    private final CharacterRunAutomaton indexPatternAutomaton;
    /** For internally-managed indices, contains the index mappings JSON */
    private final String mappings;
    /** For internally-managed indices, contains the index settings */
    private final Settings settings;
    /** For internally-managed indices, an optional alias to create */
    private final String aliasName;
    /** For internally-managed indices, an optional {@link IndexMetadata#INDEX_FORMAT_SETTING} value to expect */
    private final int indexFormat;
    /**
     * For internally-managed indices, specifies a key name under <code>_meta</code> in the index mappings
     * that contains the index's mappings' {@link Version}. We need to read and write this field for
     * backwards compatibility.
     */
    private final String mappingsNodeVersionMetaKey;
    /** The version meta key for the integer system index mapping version */
    public static final String VERSION_META_KEY = "managed_index_mappings_version";
    /** For internally-managed indices, specifies the origin to use when creating or updating the index */
    private final String origin;
    /** The minimum cluster node version required for this descriptor */
    private final Version minimumNodeVersion;
    /** Legacy mapping version from the descriptor */
    private final Version mappingsNodeVersion;
    /** Mapping version from the descriptor */
    private final MappingsVersion mappingsVersion;
    /** Whether there are dynamic fields in this descriptor's mappings */