The use case is essentially the same as Alpha Blending with Integer Texture for Object Picking
One of the answers is to discard fragments that fail the alpha test.
So I'm wondering if it's possible to discard for one render target in a framebuffer, while still writing to the others. In my initial attempt of simply not writing the out value for that target, it seems to still write the default value (0, uvec4(0), etc.)
No, if you
discardthen no buffers will be updated, regardless of whether you assigned to the output variable beforehand or not.(emphasis mine)
If blending is enabled, then you could write a transparent color to the output that you want to "discard".