### Elasticsearch Version

8.7+

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

Darwin

### Problem Description

The downsample transport action ( https://github.com/elastic/elasticsearch/blob/main/x-pack/plugin/rollup/src/main/java/org/elasticsearch/xpack/downsample/TransportDownsampleAction.java ) creates a rollup index without setting any tier preference.

This means the rollup index will receive the automatic tier preference of `data_content` irrespective of where the source index is located.
This means that even if the source index is in the warm tier, the rollup index will be created in the hot tier (so we'd be downsampling from warm to hot).

This has some confusing consequences when using ILM if, say,  the `downsample` action is configured in the `cold` phase the hot tier could run out of space (or at least see increased, unexpected (?) usage)

Maybe this makes sense for performance reasons? If that's the case I think we should document this behaviour.
We should otherwise configure the `_tier_preference` on the rollup index.

### Steps to Reproduce

Spin up a deployment with hot/warm/cold tiers.
Create an index with the `_tier_preference: data_warm` and create an ILM policy with only the warm phase that contains the `downsample` action ( https://www.elastic.co/guide/en/elasticsearch/reference/current/downsampling-ilm.html )
Notice the `downsample-*` index is created in the hot tier.


### Logs (if relevant)

_No response_
x-pack/plugin/rollup/src/main/java/org/elasticsearch/xpack/downsample/TransportDownsampleAction.java
metricFields.toArray(new String[0]),
                        labelFields.toArray(new String[0])
                    );
                    rollupIndexerRequest.setParentTask(parentTask);
                    client.execute(DownsampleIndexerAction.INSTANCE, rollupIndexerRequest, ActionListener.wrap(indexerResp -> {
                        if (indexerResp.isCreated()) {
                            
                            final Settings.Builder settings = Settings.builder().put(IndexMetadata.SETTING_BLOCKS_WRITE, true);
                            
                            if (sourceIndexMetadata.getNumberOfReplicas() > 0) {
                                settings.put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, sourceIndexMetadata.getNumberOfReplicas());
                            }
                            
                            if (sourceIndexMetadata.isHidden() == false) {
                                if (sourceIndexMetadata.getSettings().keySet().contains(IndexMetadata.SETTING_INDEX_HIDDEN)) {
                                    settings.put(IndexMetadata.SETTING_INDEX_HIDDEN, false);
                                } else {
                                    settings.putNull(IndexMetadata.SETTING_INDEX_HIDDEN);
                                }
                            }
                            UpdateSettingsRequest updateSettingsReq = new UpdateSettingsRequest(settings.build(), rollupIndexName);
                            updateSettingsReq.setParentTask(parentTask);
                            client.admin().indices().updateSettings(updateSettingsReq, ActionListener.wrap(updateSettingsResponse -> {
                                if (updateSettingsResponse.isAcknowledged()) {
                                    
                                    refreshIndex(rollupIndexName, parentTask, ActionListener.wrap(refreshIndexResponse -> {
                                        if (refreshIndexResponse.getFailedShards() == 0) {
                                            
                                            updateRollupMetadata(rollupIndexName, request, ActionListener.wrap(resp -> {
                                                if (resp.isAcknowledged()) {