I discovered the reason the backend login wasn't working was due to some failed upgrade steps that showed in tUpgradeTrace.log. Here was the main one:
Message: FAILED : SiteInitializer: Upgrade to 1600 (method: UpgradeBackendPages_AddHelpAndResourcesPage) - Invalid root node configured for pages. No root node with the name of "00000000-0000-0000-0000-000000000000".
I took a guess that the multisite configuration upgrade and the claims authentication upgrade were somehow not being performed in the proper order. To get around this, I did a second upgrade from 4.1 to 7.1, but before running it I copied the sf_sites table from the first upgrade into the DB. I also copied the ProjectConfig.Config data from the first upgrade into the second (before running the upgrade)...this way, the root node configuration was already present.
I don't know if this is the best way to do it, but all of my upgrades succeeded and I can now log in to the backend.