How do you know which primitives go into which instances? The complexity of this makes it seem like you don't really want to use transform feedback; you want to use a compute shader. Then, through indirect rendering and SSBOs, you can write whatever vertex commands and verticesdata you want.
If multiple CS instances affect the sameThe idea is that you have some number of indirect rendering commands (one command per set of instances). And for each instance you create, use SSBO atomicsthe CS invocation needs to incrementbump the numberinstance count of vertices/instances for that renderingeach of those commands (atomically, of course).
Now, because there are state changes between the commands, you wouldn't be able to use a multi-draw indirect command. But by using indirect commands and a CS, you can at least keep all of the data on the GPU, without having to do things like buffer copies to multiple locations.
Transform feedback is merely an ad-hoc mechanism for something that modern OpenGL allows you to just do directly. If you need to broadcast the "primitive" count to multiple locations (or really, if you're doing anything besides rendering the feedbacked data), then you should be using a compute shader, not TF.