Spent a little more time on Typica before heading into the shop this morning. Removed 4 things from my list of desired changes. 3 were things that I knew would be easy once I had the code open in front of me. The 4th is arguably a bug in Qt and I wasn't sure what the right thing to do there was, but the easiest thing I could think of to try did resolve the issue.
The solution is to add a changeEvent override which calls update() on an ActivationChange event.
Presumably there's something within Qt causing the button to lose that visual indication which isn't getting undone, leading me to think it's a Qt bug, but for my program at least the workaround is tiny and not worth trying to figure out a patch. Problem observed on Linux/X11 in Qt 6.10.