As it turned out, this was pretty much exactly what I needed. It's quite verbose, and the integration with the gradle protobuf plugin leaves something to be desired, but it works. Thanks again.
Here's what I came up with, for posterity: https://github.com/benjamin-bader/protoc-plugins-in-monorepo