Rather than putting the id in the query, why not obsidian://vault/VAULTNAME/plugin/PLUGIN/..., with the plugin being given the rest of the URL. That would let them use the remaining path portion as well.
TBH, I’m not too fond of the new /verb?params style URLs, as they aren’t particularly idiomatic as modern URLs go. In particular, burying the vault in the query string means you can’t quickly inspect a URL to know what vault is being referenced. You have to read through every bit of the query looking for it, since it could be anywhere in the query.
The “U” in URL stands for “uniform”, after all.
Also, they’re supposed to be Resource Locators, meaning the primary function is to locate a resource, upon which a query may then be performed. The new verb-based URLs don’t seem to be either uniform nor resource-locating; they’re verbs in URL syntax, more of an RPC call than anything else.