The Zeppelin (Ryzen 1xxx) die is 212 mm2 and its CCXs are 88 mm2 leaving 124 mm2 for the uncore. Now we see that the Matisse (Ryzen 3xxx) IO die is 122 mm2 — virtually the same size on the same process for the same functionality. (I don't see how L4 cache would fit in there BTW.)
As to why it's so large, I guess connecting cores, memory, and PCIe at extremely high speed just requires a lot of transistors. Intel's uncore seems to be far smaller; I'm not sure how or why.