Space under the IHS. The 5800x, and 5600x are single core dies whereas the 5900x and 5950x use 2x dies for cores. The 2x dies take up the entire right side of the IHS and the Lcache already there takes up a good chunk of the left. Adding 64Mb of Lcache isn't small. And it'd be rough to make it work on AM4 without rerouting all the internal traces. Just the 5800x with the 64Mb of Lcache took a little rerouting, but was done in an area of the pcb that had relatively little tracing to start with.
But as it is, amd is kinda vague about its claims. Being the 'fastest' only applies to games/apps that can really benefit from higher Lcache. For other games/apps that don't have a high dependency on Lcache, the 3d isn't going to magically raise the 5800x3D above 5950x levels. Or 12900k.
As far as clock speeds go, that's kinda immaterial in comparison. It's a Ryzen. I get better CB20 scores at an all core 4.2GHz 62°C by clocktuner2 than I do at all core 4.4GHz 83°C manual OC. Simply due to heat killing efficiency. The higher a Ryzen temp gets above 60°C, the slower it 'thinks', regardless of clocks.
I bet Amd will have done something similar with the 3D, maximizing real performance, lowering voltages, lowering heat output, since the 5800x is the highest binned chips anyway, and that gets higher performance numbers, even if it means lowering clock speeds in comparison to the 5800x .