For future Googlers, this came down to a corrupted transaction log.
Using this link, and this query, I found the below message in the "details" block:
GET _cluster/allocation/explain?filter_path=index,node_allocation_decisions.node_name,node_allocation_decisions.deciders.*
translog from source [name/path] is corrupted
Then using this link, I was able to target and repair the corrupted index:
Cluster health is back to green, Kibana is working.