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.
server/src/test/java/org/elasticsearch/cluster/metadata/MetadataTests.java
AbstractChunkedSerializingTestCase.assertChunkCount(randomMetadata(datastreams), instance -> {
            
            
            final int indicesChunks = instance.indices().size() + 2;
            
            final int reservedStateChunks = instance.reservedStateMetadata().size() + 2;
            
            final int templatesChunks = instance.templates().size() + 2;
            
            final int customChunks = 2 * instance.customs().size();
            
            final int dsChunks = datastreams == 0 ? 0 : (datastreams + 4);
            
            final int graveYardChunks = instance.indexGraveyard().getTombstones().size() + 2;
            
            final int componentTemplateChunks = instance.componentTemplates().size() + 2;
            
            final int v2TemplateChunks = instance.templatesV2().size() + 2;
            
            return 2 + indicesChunks + reservedStateChunks + templatesChunks + customChunks + dsChunks + graveYardChunks
                + componentTemplateChunks + v2TemplateChunks + 1;
        });
    }
    /**