It is indeed a frustrating and rigged experience! Poor video game bosses.
Funnily enough the hit boxes do stay the exact same (unless you experienced a rare phase two invincible hero bug, which I've yet to figure out how to fix). The way it works is that the Hero is coded to dodge all attacks perfectly, but those dodge fuctions only have a random chance to run based on how many times the Hero has seen the attack and how far along the game is.