The root cause is that updating slapd with its default schema installed does not update existing content of cn=schema,cn=config.
You have to tackle this root cause and not only solve it for a particular overlay.
Your conclusion is to hard-code the ppolicy schema into the C code. If you think this to the end you have to move *all* standard schema installed to schema_prep.c.
IMO this is bad design. But I'm not the one to decide on that. :-/
Ciao, Michael.