A composable index template with no `template` defined in the body is mistakingly always assumed to not be a time series template. Even if it refers to a component template that has the `index.mode` setting set to `time_series` and the component template defines mappings with dimension fields or routing paths.

Incorrectly this causes to create a data stream with a tsdb index *without* time series start and end time settings set. The fact that this can happen is another bug and is being tracked #98833.

What should happen in this case is that a tsdb data stream is created with a valid tsdb backing index (with correctly generated time series start and end time settings).

This bug was found as part investigating #98792 and is the cause of that bug.
modules/data-streams/src/javaRestTest/java/org/elasticsearch/datastreams/TsdbDataStreamRestIT.java
assertOK(client().performRequest(putComposableIndexTemplateRequest));
        var rolloverRequest = new Request("POST", "/k8s/_rollover");
        var rolloverResponse = client().performRequest(rolloverRequest);
        assertOK(rolloverResponse);
        var rolloverResponseBody = entityAsMap(rolloverResponse);
        assertThat(rolloverResponseBody.get("rolled_over"), is(true));
        var newIndex = (String) rolloverResponseBody.get("new_index");
        assertThat(newIndex, backingIndexEqualTo("k8s", 6));
        
        var t = currentTime;
        for (int i = 0; i < numDocs; i++) {
            var indexRequest = new Request("POST", "/k8s/_doc");
            indexRequest.setJsonEntity(DOC.replace("$time", formatInstant(t)));
            var response = client().performRequest(indexRequest);
            assertOK(response);
            var responseBody = entityAsMap(response);
            assertThat((String) responseBody.get("_index"), backingIndexEqualTo("k8s", 6));
            t = t.plusMillis(1000);
        }
        
        var indexRequest = new Request("POST", "/k8s/_doc");
        indexRequest.setJsonEntity(DOC.replace("$time", formatInstant(currentMinus30Days)));
        var e = expectThrows(ResponseException.class, () -> client().performRequest(indexRequest));
        assertThat(e.getMessage(), containsString("is outside of ranges of currently writable indices"));
    }
    public void testDowngradeTsdbDataStreamToRegularDataStream() throws Exception {
        var time = Instant.now();
        {
            var indexRequest = new Request("POST", "/k8s/_doc");
            indexRequest.setJsonEntity(DOC.replace("$time", formatInstant(time)));