Scaling of cardinality sub-aggregation

I have found some kind of solution (so far not fully fitting to our design, but working well).
It's _msearch endpoint, documentation here:

With aggregations rewritten each as separate element, I was able to get 715ms response. This is huge improvement, because aggregations can be executed in-parallel (at least what I understood).

GET treaty_v4/_msearch
{}
{"size":0,"aggregations":{"agg":{"terms": {"field": "content.ACCP_MAIN_CLI_CCAT.keyword", "order": {"_key": "asc"}, "size": 500}, "aggs": {"deals_count": {"cardinality": {"field": "content.DOC_DEAL_NO.hash"}}}}}}
{}
{"size":0,"aggregations":{"agg":{"terms": {"field": "content.ACCP_ACCP_PRFT_CNTR_DESC_LV1", "size": 10}, "aggs": {"deals_count": {"cardinality": {"field": "content.DOC_DEAL_NO.hash"}}, "profitCenters_lv2": {"terms": {"field": "content.ACCP_ACCP_PRFT_CNTR_DESC_LV2", "size": 20}, "aggs": {"deals_count": {"cardinality": {"field": "content.DOC_DEAL_NO.hash"}}, "profitCenters_lv3": {"terms": {"field": "content.ACCP_ACCP_PRFT_CNTR_DESC_LV3", "size": 100}, "aggs": {"deals_count": {"cardinality": {"field": "content.DOC_DEAL_NO.hash"}}, "profitCenters_lv4": {"terms": {"field": "content.ACCP_ACCP_PRFT_CNTR_DESC_LV4", "size": 100}, "aggs": {"deals_count": {"cardinality": {"field": "content.DOC_DEAL_NO.hash"}}, "profitCenters_lv5": {"terms": {"field": "content.ACCP_ACCP_PRFT_CNTR_DESC_LV5", "size": 100}, "aggs": {"deals_count": {"cardinality": {"field": "content.DOC_DEAL_NO.hash"}}}}}}}}}}}}}}
... etc ...