Actually looking a bit more at how the xhr filtering is implemented, uBO seems to do it not at the webRequest level but instead by shimming the javascript fetch() method itself. So maybe this approach would still work in a MV3 world, I don't know what restrictions are imposed on content scripts.