### Description

I noticed that when I run `GET my_ilm_index/_ilm/explain`, the order of the returned JSON seems without much logic.

In my case, we have 18 underlying indices, and they are returned as
```
my_ilm_index-000010
my_ilm_index-000011
my_ilm_index-000012
my_ilm_index-000001
my_ilm_index-000006
my_ilm_index-000017
my_ilm_index-000018
my_ilm_index-000007
my_ilm_index-000008
my_ilm_index-000009
my_ilm_index-000002
my_ilm_index-000013
my_ilm_index-000014
my_ilm_index-000003
my_ilm_index-000015
my_ilm_index-000004
my_ilm_index-000016
my_ilm_index-000005
```

While of course, strictly speaking, json has no order, it's still inconvenient to just get a quick look at what's happening.

Could this get an ordering?

**Details:**
Elastic 7.16.2 in docker
Kibana 7.16.2 in docker
Request done via Kibana/Dev tools/console (on Chrome, on Windows 10)
x-pack/plugin/ilm/src/main/java/org/elasticsearch/xpack/ilm/action/TransportExplainLifecycleAction.java
indexCreationDate,
                    policyName,
                    originationDate != -1L ? originationDate : lifecycleState.lifecycleDate(),
                    lifecycleState.phase(),
                    lifecycleState.action(),
                    lifecycleState.step(),
                    lifecycleState.failedStep(),
                    lifecycleState.isAutoRetryableError(),
                    lifecycleState.failedStepRetryCount(),
                    lifecycleState.phaseTime(),
                    lifecycleState.actionTime(),
                    lifecycleState.stepTime(),
                    lifecycleState.snapshotRepository(),
                    lifecycleState.snapshotName(),
                    lifecycleState.shrinkIndexName(),
                    stepInfoBytes,
                    phaseExecutionInfo
                );
            } else {
                indexResponse = null;
            }
        } else if (onlyManaged == false && onlyErrors == false) {
            indexResponse = IndexLifecycleExplainResponse.newUnmanagedIndexResponse(indexName);
        } else {
            indexResponse = null;
        }
        return indexResponse;
    }
}