I'm seeing quite a few of these in prod:

```
java.lang.NullPointerException: Cannot invoke "org.elasticsearch.xpack.core.transform.transforms.TransformState.getTaskState()" because "transformState" is null
    at org.elasticsearch.xpack.transform.TransformUsageTransportAction.masterOperation(TransformUsageTransportAction.java:106) ~[?:?]
    at org.elasticsearch.xpack.transform.TransformUsageTransportAction.masterOperation(TransformUsageTransportAction.java:55) ~[?:?]
    at org.elasticsearch.action.support.master.TransportMasterNodeAction.executeMasterOperation(TransportMasterNodeAction.java:124) ~[elasticsearch-8.9.0.jar:?]
    at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction.lambda$doStart$3(TransportMasterNodeAction.java:235) ~[elasticsearch-8.9.0.jar:?]
    at org.elasticsearch.action.ActionRunnable$3.doRun(ActionRunnable.java:72) ~[elasticsearch-8.9.0.jar:?]
    at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:983) ~[elasticsearch-8.9.0.jar:?]
    at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26) ~[elasticsearch-8.9.0.jar:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
    at java.lang.Thread.run(Thread.java:1623) ~[?:?]
```

`org.elasticsearch.persistent.PersistentTasksCustomMetadata.PersistentTask#getState` is declared `@Nullable` but this case is not handled properly by the usage action.
x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/action/TransportGetDataFrameAnalyticsStatsAction.java
}
                listener.onResponse(
                    buildStats(
                        config.getId(),
                        retrievedStatsHolder.progress.get(),
                        retrievedStatsHolder.dataCounts,
                        retrievedStatsHolder.memoryUsage,
                        retrievedStatsHolder.analysisStats
                    )
                );
            }, e -> listener.onFailure(ExceptionsHelper.serverError("Error searching for stats", e)))
        );
    }
    private static SearchRequest buildStoredProgressSearch(String configId) {
        SearchRequest searchRequest = new SearchRequest(AnomalyDetectorsIndex.jobStateIndexPattern());
        searchRequest.indicesOptions(IndicesOptions.lenientExpandOpen());
        searchRequest.source().size(1);
        searchRequest.source().query(QueryBuilders.idsQuery().addIds(StoredProgress.documentId(configId)));
        return searchRequest;
    }
    private static SearchRequest buildStatsDocSearch(String configId, String statsType) {
        SearchRequest searchRequest = new SearchRequest(MlStatsIndex.indexPattern());
        searchRequest.indicesOptions(IndicesOptions.lenientExpandOpen());
        searchRequest.source().size(1);
        QueryBuilder query = QueryBuilders.boolQuery()
            .filter(QueryBuilders.termQuery(Fields.JOB_ID.getPreferredName(), configId))
            .filter(QueryBuilders.termQuery(Fields.TYPE.getPreferredName(), statsType));
        searchRequest.source().query(query);
        searchRequest.source()
            .sort(