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.
To be clear this isn’t server-side ad insertion; the ad and content streams are still separate (YouTube is doing a server-side ad insertion experiment, but that’s separate from fake buffering)