Was a ball actually missing from the bearing? Hard to comprehend if one did then got loose into the crankcase as there really is no space for a ball to get free. However, once an object gets into the crankcase it can get sucked into one of the ports and get pulled into the top above a piston leading to the observed damage.
From the pic i get the sense you un-pressed the crankshaft. Any chance you checked the crankshaft run out before separating it? Maybe impossible to do with the bearing the way it was. If a crank is not true, then the bearings can be stressed causing what you found. But that's just one possibility. The bearing could also have had a cage that was defective or just plain worn and came free, but that's highly unusual. Check for signs of excessive heat around the bearing, seal and crank pins. For sure make sure the new or rebuilt crank drops into the case evenly...Basically making sure the case is still true.
Lastly, what was the condition of the seal? Does it show signs of heat damage? If the spring is what you found in there, it may have been torn off when the bearing cage came apart. Or the seal spring came off, it could have killed the bearing which led to implosion. You may never find the root cause on this one.

