But rather than making vanilla INIT work under mod_perl you're then introducing new semantics. Which mod_perl already has: the pseudohandlers you pointed out before.
I am in no way capable of making vanilla INIT work in mod_perl as I am not a C programmer, nor would I have any clue as to how to do that even if i was one. :-) So my only option (as i see it) to make Class::Trait work under mod_perl would be to do something like i described. Although, to be honest, I think I am going to look into avoiding using INIT altogether in Class::Trait.