I don't think per-contype flags are the right shape, though. The existing toggles group by catalog (indexes, constraints, rules, ...); splitting constraints into PK/FK/CHECK/UNIQUE/EXCLUDE/NOT NULL adds six flags on a second axis, and the function already carries nine. Only FKs have the cross-table dependency-ordering problem; the rest only reference the same table, so splitting them unlocks nothing new.
Ok, I understand your point. Initially, I saw the usefulness of this function for cloning a schema, something very common in a multi-tenant model. But creating the foreign keys along with the create table makes that unfeasible.
Options are variadic, so you could split your emit_local_constraints into