I'm surprised they don't just inject the ads directly into the video stream, I think that would solve their issue overnight (not that I want any ads personally). You could also rate-limit it to the playback speed to prevent pre-downloading the stream easily. But now that everything uses HLS/DASH, it's easy to inject different content right in the middle of the stream without re-encoding anything.
Injecting the ads directly would make them skippable. Unskippable ads are inherently detectable (because the unskippability has to be communicated to the client-side player controls), so there’s no easy way out.
Twitch seems to have won the war against adblockers by injecting directly into the video stream. It’s been months now and I still see ads. I assume it isn’t as easy as you say to skip them otherwise uBlock would have done it already.