Dependency Conflict Updating to Craft 3.5
Not a true fix, but on the off chance this helps someone, here are the steps I took:

Create a local clone of the live Craft install with a dummy database, but the same composer.json and project.yaml files.
Delete the storage and vendor folders, and the composer.lock file.
Run composer update.
Install a plugin from the live admin panel.
Delete the vendor folder and composer.lock file on the server.
Upload the new local vendor folder to the server.
Uninstall the plugin again, causing composer to run.

Then when I went back to the updates panel and reran it, Craft upgraded without any issues.