Other ramifications aside, it wouldn’t be that costly to splice real time.
YouTube has standard profiles of video and audio quality levels. As long as the video stream is the same quality, the stream can basically be concatenated one after another without any meaningful over head. Try it: ffmpeg -f concat -i files.list -c copy output.mp4 for two files with same codec (audio and video) was processed at over 900x speed for me with just CPU.
So all YouTube would need to do is transcode the ads they’d intend to splice in into the standard formats they’d offer the stream at (which they’d already have the video transcoded into), and splice the ads they’d want to show in realtime at request time.