It turns out that my mystery is not a Django problem, it is a 'mod_wsgi on Ubuntu 24.04' problem, where things running under mod_wsgi silently wind up with an incorrect method resolution order. How do you even do that, especially when __mro__ is not affected?
(Is mod_wsgi playing around with the insides of the Python interpreter?)