**Elasticsearch version** 8.1

**Kibana version**: 8.1

When creating an SLM policy, kibana currently calls the `GET /_resolve/index` to allow the users to select which indices they want to backup (this API includes system indices). It seems that there's no way right now of making this API resolve only non-system indices. And if a user were to select one of these system indices the following error would be returned from ES:

```
the [indices] parameter includes system indices [.kibana_8.1.0_001]; to include or exclude system indices from a snapshot, use the [include_global_state] or [feature_states] parameters
```

<details>
<summary>API calls for testing</summary>

```
# create repository
PUT /_snapshot/my_backup
{
  "type": "fs",
  "settings": {
    "location": "/tmp/es-backups",
    "chunk_size": "10mb"
  }
}

# create policy
PUT _slm/policy/test-policy
{
  "name": "test-snapshot",
  "schedule": "0 30 1 * * ?",
  "repository": "my_backup",
  "config": {
    "indices": [
      ".kibana_8.1.0_001",
      "kibana_sample_data_flights"
    ]
  }
}

# executing the previous policy should fail
POST _slm/policy/test-policy/_execute
GET _slm/policy/test-policy
```
</details>
server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveIndexAction.java
static final ParseField BACKING_INDICES_FIELD = new ParseField("backing_indices");
        static final ParseField TIMESTAMP_FIELD = new ParseField("timestamp_field");
        private final String[] backingIndices;
        private final String timestampField;
        ResolvedDataStream(StreamInput in) throws IOException {
            setName(in.readString());
            this.backingIndices = in.readStringArray();
            this.timestampField = in.readString();
        }
        ResolvedDataStream(String name, String[] backingIndices, String timestampField) {
            super(name);
            this.backingIndices = backingIndices;
            this.timestampField = timestampField;
        }
        public ResolvedDataStream copy(String newName) {
            return new ResolvedDataStream(newName, backingIndices, timestampField);
        }
        public String[] getBackingIndices() {
            return backingIndices;
        }
        public String getTimestampField() {
            return timestampField;
        }
        @Override
        public void writeTo(StreamOutput out) throws IOException {