There's no way AMD didn't know this going in, so I don't think that they are finding themselves short of leaky dies to use for Ryzen V-cache. Maybe Milan-X demand caught them by surprise, but I doubt that as well given we've been in this silicon shortage for a while now and even base Milan has seen very excessive demand. Obviously 1CCD versus 2CCD to retake the gaming crown is beneficial for AMD given the silicon constraints, but I just think if they were going to go for a Halo product with limited availability, it would have been smarter to put it on the 5950x and charge $1k. People would have paid it in today's market. Again, just my opinion, I'm not running AMD.
See
@DrMrLordX comments and my reply. A true halo product would be a 16 core with V-cache. Now they have a halo gaming product versus an all around king of the hill. Ultimately it doesn't make much difference as Ryzen 3dcache is just a holdover product until Zen4 stomps everything this winter as you mention, I just think a true halo product would have been better. Can't argue with AMD's results though as they have been killing it growth wise. I'm sure the shareholders will be pleased they are pushing as many CCDs into Milan-X as they can.