Checked that and the systemd timers. No dice. However, this problem started right around the time I updated my kernel package, and there was another update that I applied yesterday. I connected the printer and let it sit overnight. No midnight disconnections.
I’m running a print job now that should run past midnight. Fingers crossed that this was just some kind of transient kernel bug!
The print job didn’t fail, so I’m going to write this off as a kernel bug until/unless it happens again. I’m just glad I can run long jobs again!