Angus y yo discutimos esto y encontramos una solución muy sencilla para este problema. Parece que está funcionando correctamente.
Escribir el código de on() fuera de after_initialize resuelve el problema. Creo que así es como deberían hacerlo todos los plugins. Creo que el problema estaba de nuestra parte.
La razón por la que esto funciona es que el control entra en plugin.rb antes de que se ejecuten los inicializadores de Rails y, por lo tanto, las llamadas de retorno de on() se registran antes de que se encolen los webhooks.