How to overlay Slots on single object
Disclaimer: as the question is about workflow, maybe we'll have to change some things about this answer depending on the OP needs. We'll see.
Disclaimer 2: If you are not using the node wrangler add-on yet, that's the time to start. It makes node-inspecting much easier.
I think you can't (and you won't): layering is in the material.
This is the setup I would use for this situation:

The first node (or gruop of nodes) is the shader of the non-decal(layer1), then you have a second node that basdically overlay the shader of the decal in the right places (inside there's a mix shader node and another shader group as shown below) (layer2)

Other shaders have a similar setup: a shader (layer1), if you need the decal, you just add the Decal node (which is the same for all the materials) (layer2).

I would change the material of the model in the material slot on the right. Remember to enable Fake user, or you'll lose them at quitting.


So basically, my &quot;Decal&quot; material is not a material, but a Node Group that contains a shader. Layering happens inside each node group. This way blending can be animated for example linearly, with a mask, ecc... it's more flexible.