The idea is not to get rid of CGI.pm per se
It partly is, though. While your points about CGI application architecture in general are valid, I think they also miss the reasons why CGI.pm specifically is no longer recommended. See "CGI.pm Has Been Removed From the Perl Core" in CGI.pm and the section "HTML Generation functions should no longer be used" right below that, as well as all the links therein to the various discussions. IMHO, one of the things CGI.pm suffers from is having to drag around backward-compatible features (like ISINDEX support, just to name another one).
Old-style CGI scripts sometimes still can be useful, but I certainly advocate for modern frameworks as well, especially if the application grows beyond one or two scripts.