I had the same mess with Zagan. It is a tight space, and there are nest towers generating endless wyverns and flying demons. If you don't take out the towers quickly, the numbers get overwhelming fast. What your screen shots show are all the spells getting shot at you by the flying enemies. I call it a design flaw more than a bug ... with that much going on, they should have limited the spawns OR given you a much bigger space to maneuver in.
Perhaps the way I did it was a bit of a cheat, but it worked: I backed as far in as I could in the tunnel I cam in, then sniped Zagan from there. There were some rocks I could get behind, and nothing else reached me. Once the cave-in happens, though, its not safe anymore, but you can fly directly across and up to the exit tunnel. You automatically drop out of dragon form when you reach it, and are then safe again. Like any other dragon battle, if you turn while flying, or strafe, you are pretty near impossible to hit ... the AI isn't good enough to track you or lead your movements. So, not content to leave all those nasties in there unscathed, I jumped back down and made swooping passes at the towers until they were destroyed; just keep moving and don't do anything head on. Fireball is a must since it will hit your target no matter what. You can cough up as much flame as you like while moving to help with any enemies that get in your way. I would make a single pass and be down below half health, despite my precautions and evasions (the fire was so thick in there), then back to the tunnel to heal up. Eventually, it cleared. I doubt that is how the encounter is supposed to play out, but it was at least doable.
I had the same thing at Kali's too. Invisible-until-you-hit-them enemies that didn't defend themselves. Since the fortresses were no real challenge by that point to me, I just slaughtered them all where they stood. They would have died in any case, at least that made it faster.