I'm having almost exactly the same issue. I can see how this happened but I can't see a way out of it.
In my case, it's because the original metricbeat indexed index (!!) had been removed due to space issues. So the various (several hundred) metricbeat agents come in and try and write to the alias. But there is no alias so the index is created with the name of the alias. This causes ILM to break.
I've tried to delete the index but of course it just comes back again because one of the several hundred agents just re-creates it.
Is there some way to "pause" ingestion on the server side? If so, I can then manually re-create the correct index name and alias and everything should be good. Stopping all of the clients is pretty well impossible across several hundred agents so really looking for something on the server side.