I'm all for an elegant solution here though at some point having a working solution now beats waiting for someone to willingly dive more deeply into pg_dump. I too seem to recall previous proposals for COMMON ON CURRENT DATABASE yet here we are...
SECURITY LABEL ... ON CURRENT DATABASE is needed too, and has caused real-world pain.
I tend to agree that adding and using ... ON CURRENT DATABASE is worthwhile now. It's guaranteed to be at least as correct as what pg_dump emits now.
We do have a horrible mess with how pg_dump handles database level properties, but I'd rather not try to deal with that at the same time, get into a long discussion and land up fixing nothing.