OMG, @neosinner Ján!!!
That was exactly it! I never knew that a list could have its own confirmation page setting – and that it would override the global settings. Once I edited the list directly and updated the confirmation page there, everything worked perfectly.
I have to say, I spent about six hours digging through the database, editing wp-config.php via FTP, and trying every possible setting, and in the end it was this one setting in the list itself that solved everything.
Thank you so much for pointing me in the right direction. Your one sentence solved what six hours of troubleshooting couldn’t. I’m incredibly grateful! 🙏