because there's a lot of proprietary stuff in microcode that's used for accelerations. gfx drivers too. it's the reason the closed amd drivers are so much faster than the open mesa ones.
On the contrary, Mesa is faster than their blob. AMD themselves are working on replacing blob with Mesa in the long term.
Firmware doesn't offer any acceleration advantages, it's used for different purposes.
Of course that's all sorta orthogonal because that's all not really microcode or firmware in the classic definition, but just "code for an embedded processor I don't want to document."