The cat shards and cat indices APIs perform a ClusterStateAction then a IndicesStatsAction. They accept the ?local parameter and passes this to the ClusterStateAction but this parameter has no effect on the IndicesStatsAction. This is surprising, because GET _cat/shards?local and GET _cat/indices?local look like they might be completely local calls but in fact they still depend on every data node in the cluster.
I think the ?local parameter does not make sense on these APIs and we should remove it.
Relates #50088 which is the same issue for GET _cat/nodes.