Your understanding is correct, but I don't know where you got "persistence framework" from. Class::DBI or Tangram or Pixie are persistence frameworks. CGI::Application doesn't persist anything. It's an MVC web framework.
I think your concern about installing modules is unfounded. Either you can install modules or you can't. No one should use a hosting provider that won't let them install modules, and with the thousands of providers to choose from there is no reason any needs to.
Regarding yur "keeping all the code in one file" complaint, that might be the attitude of someone on a mailing list, but it has nothing to do with CGI::Application itself. CGI::Application imposes no restrictions on how you organize your code. When I've used it, I just broke things up into logical applications.