Found that this was caused by KQL's auto-suggest queries running against all indices that match the index pattern and not just the indices that match the time range selected. Disabled filterEditor:suggestValues to Off in Kibana's advanced settings and performance returned to normal.
See this thread for more detail: KQL-related performance issue