I can see why it was hard to balance the bosses. First, the ease of level up and maxing your stats. Second, the technically infinite health if you are perfect dodging and getting the shield. Did the bosses have about 15000 HP (roughly calculated from the DPS of 100)? I think adding more phases, upping it to 2-3 I'd say, would help make it more engaging. After a while you do just start mechanically moving, as you've solved the boss and just need to wait for the HP to melt. The fire boss was a good first one, the thunder boss is your best more on it later, the lord of the elements had such simple patterns that it was the easiest boss to fight with
I think another thing you could have added was a reward for beating the bosses, as there's really no need to win the battle. You're not unlocking the next boss, a weapon or an upgrade, all there is to the battle is seeing the same attacks and a huge HP bar. Considering how much the dodge is carrying the game, beating a boss giving an elemental upgrade to your dodge would be enough to make me feel like there is a point to coming back to the battle and seeing it to the end. We play for a result, not just the sake of it, so keeping that in mind in your design will help you create more memorable experiences.
As for the panda, I think it had just enough moving parts to make the fight interesting. The thunder that spawns on you especially is pretty interesting, as it asks you to use the dodge, and rewards you with a shield on this trying battle if you perfect the timing, which isn't easy to do with so much going on. The homing bolts, the AOEs, the tornados, this hectic level of hazards is ideal, as your system is excessively rewarding for players that mastered the dodge (which is pretty lenient on the timing for calling it perfect too). Give all bosses more multitasking skills, that increase as it switches phases, and you get a game that's hard, doesn't need damage sponges, and challenges the player without boring them.