I believe m-enforcer-p is the correct option here. Counter to your statement, I do believe it enforces across transitive dependencies.
I keep this blog post handy, as is shows a good example of not just how to use slf4j to consolidate logging, but also how to enforce that no other logging implementations may sneak into the build: https://filip-prochazka.com/blog/consolidating-logging-in-your-java-applications
