It appears to be a bug related (I think) to how the rulebase and working memory interact. They do seem fairly tied to one another when you look at the actual code for the Reteoo implementations of the classes. The fact that there is a JDK bug that seems so similar leads me to believe maybe this is just another incarnation of the same. I'm really hoping this rings a bell for the actual Drools developers; I couldn't quite see myself where that particular type comes into play.
As far as class loaders and such, I don't know. These failures are all in IDEA, running JUnit tests, but I can see the command-line it's launching to do this, and nothing seems "off" about that to me. Certainly, it works if I serialize/deserialize within the same VM, so that classloader obviously has the right classes available to it. It's just when the output of one "run" gets loaded into a new VM that things fail. How strange.