Custom Property vs ID Property for temporary User Preference Variable?
I decided to do this because it just works:

my_property : BoolProperty(default=False)
...
if button_pres_event: # Not real code
    self.my_property = not self.my_property
    do some stuff


I prefer this over the Scene ID Property I had before because it automatically creates it when the operator runs (no more checking if it exists first) and I can easily give it a starting value.

Basically, it simplifies the code. I'm sure there are other benefits but simpler/easier code is a good enough excuse for me.