I think I see now what you mean about "at all in some cases." I think something weird is going on with filter setting. A manually placed Filler and Extracter set to "Crude Oil" don't seem to always connect correctly. If you copy and paste the filter from the Filler to the Extracter, it works fine though, so something screwy is going on on the back end, I think.
At least I'm making progress, hah!
Edit: Think I've figured that out too. The issue was that the hidden surface wasn't updating connections when manually setting a filter, but it would work just fine if you were copy-pasting that filter from somewhere else. Even if that somewhere else was a manually set filter, and you could then copy it straight back to the original manually set entity, it worked. Weird stuff, huh?
I thought it was an issue with GUI timing at first, where selecting the filter would close the filter-selection GUI and not send an event in time. Then I thought it might have been table identity comparison not recognizing that the filter had changed due to some weirdness with the new fluidbox API. Uh... I still don't know which of those two it was, but while screwing with it, it started working perfectly exactly as expected, and neither one represents a regression, so I'm just going to leave it at that. It's a lot less kludgy than the first fix I tried which was trying to force the network to update itself every 120 ticks which... sort of broke every single filter on every unipipe in the game every two seconds lmao.