We never should have mentioned 4.0 as the target date to make this the
default (and only) behavior -- who knows whether there will ever even be a
Python 4.0? Even 3.10 might be on the early side (assuming we'll switch to
a year-long release cycle per PEP 602 -- we will then make deprecations in
general take two release cycles).
I do agree that we should start the process of deprecating the
non-__future__ behavior here in 3.9. I know of one project with a private
fork of Python (for other reasons) that has made this default.