It might be doable automatically. If they inject the ads at the time of viewing and not before storing the video, then it's possible that two downloads just a few sconds apart will have different ads. So if yt-dlp downloads twice and compares the two files, theoretically it can get a pretty good idea with high confidence of what content is ad and what content is... well... content.
That technique of course would require multiple downloads of the same file, but yeah. I suppose yt-dlp could also keep a backlog of "fingerprints"/"signatures" of ads its seen in the past that can be used to remove ads from later downloads with the same ads without having to download twice.
Also, even absent such a technique as what I just described, programs like NewPipe and such will still probably allow for manually skipping ads where I'm sure the official YouTube app or the web interface would deny/prevent skipping.
Edit: Actually, it also occurs to me that in order to make ads not skippable, the server will have to send messages to the *official clients saying "and here's the portion of the video you can't skip." In which case yt-dlp or NewPipe or whatever could just be like "oh, cool, that's the bits I need to skip atuomatically." And if the server doesn't send that metadata, then all ads will be skipable on the official clients. (Though I guess I'm assuming that they'll move exclusively to these injected-into-the-video-stream ads and away from the ads as they work now.)