I think the headers first change is a key stepping stone for this.
Downloading 300k blocks is around a 20MB download.
With modern bandwidth, nodes could download that from 8 peers reasonably quickly and then discard any chain that doesn't have sufficient POW.
I agree, for now and most likely for future downloading all block headers is not an issue. So don't even need to adjust protocol.