From what I hear, PulseAudio inherently lacks the architecture to create arbitrary audio routing graphs. PipeWire can do it for audio with apps like Helvum and QPWGraph, but not for all windows (only webcams and perhaps screen sharing). The view does get confusing as the number of apps/nodes increases though. One point of confusion is that in Helvum, Pulse apps have a playback and monitor node (and the monitor is a copy of the input), but JACK apps have an input and output (where the output is the result of the app applying effects to the input, or an unrelated audio stream altogether). I'm not sure where native PipeWire apps lie.