Vertical integration works really well to control quality of your platform if you have the resources to make it happen. You _could_ make the argument that System76 is too small of a company to financially make this work, but the payoff is a better product.
I would expect IPC between GUI applications to go the way of iced's Subscriptions + Commands, sending and receiving messages from a central bus or other peripheral components running as daemons.
I use the Vinegar extension for Safari which replaces the YouTube player for a simple HTML5 <video> tag and consequently removes the ads. Don't know if there's alternatives for other browsers, but worth looking into if this is all that's keeping you there.
Builds don't "have" to start from scratch. If you're building in a docker context you can mount a volume containing build artifacts (target directory). Or `sccache` if you want those artifacts stored in a remote store such as S3. I'm sure there's other solutions as well, but not clearing build artifacts in between builds would be a simpler win over maintaining separate, shared infrastructure.