### Elasticsearch Version

7.17, 8.x

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

Darwin

### Problem Description

The migrate to data tiers API can sometimes configure an illegal value for the `_tier_preference` setting for partially mounted indices.
This can happen if two conditions are met: 
1. if the partially mounted index doesn't have a `_tier_preference` configured
2. if the migrate to data tiers API doesn't perform any migration for this index (e.g. say this partially mounted index doesn't use the `data` custom attribute name for any allocation filtering, but either uses some other node attribute name or none at all)

In this case this piece of code kicks in to configure a default tier preference https://github.com/elastic/elasticsearch/blob/main/x-pack/plugin/ilm/src/main/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingService.java#L534

This is wrong, and we should configure the `MountSearchableSnapshotRequest.Storage.defaultDataTiersPreference` as the tier preference.

Relates to https://github.com/elastic/elasticsearch/issues/84758

### Steps to Reproduce

1. Mount an index - `partial-test`
2. Remove the `_tier_preference` using
```
PUT partial-test/_settings
{
  "index.routing.allocation.include._tier_preference": null
}
```
3. Call the migrate to data tiers routing API 
```
POST /_ilm/migrate_to_data_tiers
```

### Logs (if relevant)

_No response_
x-pack/plugin/ilm/src/main/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingService.java
}
        return migratedComponentTemplates;
    }
    private static Settings migrateToDefaultTierPreference(ClusterState currentState, IndexMetadata indexMetadata) {
        Settings currentIndexSettings = indexMetadata.getSettings();
        List<String> tierPreference = DataTier.parseTierList(currentIndexSettings.get(DataTier.TIER_PREFERENCE));
        if (tierPreference.isEmpty() == false) {
            return currentIndexSettings;
        }
        Settings.Builder newSettingsBuilder = Settings.builder().put(currentIndexSettings);
        String indexName = indexMetadata.getIndex().getName();
        boolean isDataStream = currentState.metadata().findDataStreams(indexName).isEmpty() == false;
        String convertedTierPreference = isDataStream ? DataTier.DATA_HOT : DataTier.DATA_CONTENT;
        newSettingsBuilder.put(TIER_PREFERENCE, convertedTierPreference);
        logger.debug("index [{}]: configured setting [{}] to [{}]", indexName, TIER_PREFERENCE, convertedTierPreference);
        return newSettingsBuilder.build();
    }
    /**
     * Converts the provided node attribute value to the corresponding `_tier_preference` configuration.
     * Known (and convertible) attribute values are:
     * * hot
     * * warm
     * * cold
     * * frozen
     * and the corresponding tier preference setting values are, respectively:
     * * data_hot
     * * data_warm,data_hot
     * * data_cold,data_warm,data_hot
     * * data_frozen,data_cold,data_warm,data_hot
     * <p>