Hi I was experiencing this issue, I see it has been reported previously.
As it seems there were no solutions I though I would post my findings.
I determined that the cause was that I had defined a catchall index-template with a lifecycle policy.
The idea was to only keep any unknown index names for 3 days.
This worked fine until we upgraded. I am guessing that .kibana index was recreated and then had the lifecycle policy applied.
there is no warning when creating a '*' index template. IMO this should not apply to system indices.
I raised a bug with elastic
I am only mentioning it here in case others experiance the same issue.
I resolved it by creating a template to match ".*" with no life cycle and a very low priority.