That IS how YouTube works. Let's say you are watching a YT video. What your YouTube app/ website does, is that it downloads a certain portion of the video from the server. This small part is called a "buffer". That's where the word "buffering" comes from. Now, for the ad to be displayed within the video stream itself, it would need to be downloaded in this buffer somehow. Therefore, while there is a buffer in place, all of my above points would apply.
Completely eliminate the buffer you say (ie., stream the video bit by bit by reducing the buffering size dramatically) ? Well, then you would need an ultra stable internet connection to YouTube's servers, without any ping difference. Good luck with that. Especially, good luck with doing that in developing countries, whose populations make up the majority of the world.