Ok I just raised aircrafts to gather the all simulation department of Kristinka technologies
Now seriously, probably the movement is too fast for "Push Strands outside geo" compound (or what is called, there are a few versions around). As I said before, there is "get closest location" node inside, which searches for closest surface, according point normal it makes decision, is some strand segment is inside of geometry. If so, it pushes the strand segment to closest surface.
With fast movement, closest surface could be on opposite, unwanted side. With faster movement, compound will think that nothing important happens, strand will just pass through the geo.
In short, only my advice is to try it with slower motion. Also, if you didn't already, create a special geometry for collision, as much convex. That is, without holes for eyes, mouth, so on.
For re-timing the cached sim, there is great tutorial by Andy Nicholas
BTW I just working on small update, but this won't help here in any way, unfortunately.