Constraints also run as the user modifying a table instead of the table
owner.
Again I don't see a good reason to want to execute constraints as the
user modifying a table. But I do think there can be reasons to want to
execute them as the table owner.
To summarize, my suggestion for change is:
Execute default expressions and constraints as the owner of the table.
Execute triggers as the owner of the trigger.