I am posting this here just in case anybody else bumps into the same problem I did. I have a site that has been around for a while, it probably was originally installed with DNN4 and then upgraded over the years up to DNN8. When I tried to run the DNN9 upgrade (on a local, non-production version of the site because I am not foolhardy), the upgrade was failing on every single PersonaBar package. Everything else would succeed, but the dozen or so *.PersonaBar.* packages all consistently failed.
After some troubleshooting, I discovered that the failures all happened on the call to the stored procedure AddListEntry. At some point along the way in previous upgrades, that procedure was apparently not updated correctly. The PersonaBar packages were all expecting 11 parameters in the stored procedure, but my installation's version only had 10. Once I rolled back and then updated that procedure with the correct version for my starting version of DNN, I was able to sail through the DNN9 upgrade.
Bonus troubleshooting details for people newer to the DNN ecosystem:
How was I able to troubleshoot this issue, when all I had was an upgrade screen with a bunch of red FAILURE messages and no event logs showing why they failed? I looked in <web root>/Install/Module/ and saw all of the install packages for the failed updates. During the upgrade everything in the Install folder gets cleaned up as it successfully completes, so anything left there is where the issue is. I looked at my list of package failures, and tried manually installing that package through the Host > Extensions screen. When running it that way, I was able to actually see the SQL error and discover the specific stored procedure that was failing. At that point, it was just a matter of comparing my version of that procedure with the same procedure in a clean install to see what was different.
Anyway, I hope this helps someone else who might bump into the same issue.