Currently the `index.look_ahead_time` index setting controls the `index.time_series_end_time` index setting when rolling over a tsdb data stream. The `index.look_ahead_time` setting default to 2 hours, which means the by default the `index.time_series_end_time` index setting of the new backing index will be 2 hours later than the `index.time_series.start_time` index setting. The the `index.time_series.start_time` and `index.time_series_end_time` index settings  control what `@timestamp` are allowed to be indexed.

Additionally the `index.look_ahead_time` setting is used to generate the `index.time_series.start_time` and `index.time_series_end_time` index settings when creating a new data stream for the first backing index. Based on the defaults of `index.look_ahead_time` setting, the  `index.time_series.start_time` index is set to current time - 2 hours and the `index.time_series_end_time` index setting is set to current time + 2 hours.

However for indexing the initial data setting the `index.time_series.start_time` index setting to 2 hours in the past sometimes creates too small time window. For example because data gets indexed starting from midnight that day. 

The idea is to add a `index.look_back_time` setting that controls how to generate the `index.time_series.start_time` index setting when creating the data stream (for the first backing index). This allows for creating a first backing index that accepts data that is earlier then current time - $index.look_ahead_time, without affecting how `index.time_series.start_time` and `index.time_series_end_time` index settings are generated during rollover.

I think a good default for the `index.look_back_time` setting would be 24 hours. Meaning that by default the `index.time_series.start_time` index setting for the first backing index of a new data stream would be current time - 24 hours.

Relates to elastic/integrations#7345
modules/data-streams/src/javaRestTest/java/org/elasticsearch/datastreams/TsdbDataStreamRestIT.java
var rolloverResponseBody = entityAsMap(rolloverResponse);
            assertThat(rolloverResponseBody.get("rolled_over"), is(true));
            var oldIndex = getIndex((String) rolloverResponseBody.get("old_index"));
            var newIndex = getIndex((String) rolloverResponseBody.get("new_index"));
            assertThat(getEndTime(oldIndex), equalTo(getStartTime(newIndex)));
            assertThat(getStartTime(oldIndex).isBefore(getEndTime(oldIndex)), is(true));
            assertThat(getEndTime(newIndex).isAfter(getStartTime(newIndex)), is(true));
        }
    }
    public void testMigrateRegularDataStreamToTsdbDataStream() throws Exception {
        
        var putComposableIndexTemplateRequest = new Request("POST", "/_index_template/1");
        putComposableIndexTemplateRequest.setJsonEntity(NON_TSDB_TEMPLATE);
        assertOK(client().performRequest(putComposableIndexTemplateRequest));
        
        int numRollovers = 4;
        int numDocs = 32;
        var currentTime = Instant.now();
        var currentMinus30Days = currentTime.minus(30, ChronoUnit.DAYS);
        Set<Instant> times = new HashSet<>();
        for (int i = 0; i < numRollovers; i++) {
            for (int j = 0; j < numDocs; j++) {
                var indexRequest = new Request("POST", "/k8s/_doc");
                var time = randomValueOtherThanMany(
                    times::contains,
                    () -> Instant.ofEpochMilli(randomLongBetween(currentMinus30Days.toEpochMilli(), currentTime.toEpochMilli()))
                );
                times.add(time);
                indexRequest.setJsonEntity(DOC.replace("$time", formatInstant(time)));
                var response = client().performRequest(indexRequest);