Issue #3593636 by mably: Delete empty domain config overrides instead of writing an empty record
Fixes #3593636.
When a domain override is saved with values identical to the base config, the computed diff is empty and DomainConfigOverrideEditable::save() wrote an empty {} record into the domain config collection. Empty overrides linger and are perpetually reported as modified by drush cex/cim (with no diff), and cannot be removed through sync. This happens routinely via multi-config forms, which write overrides for config names that were not changed.
This deletes any existing override row when the override is empty instead of writing an empty record. Cache invalidation and the save events still fire so the removal is reflected.
Adds a kernel test asserting an override equal to base is deleted (not left as an empty record) and that one matching base is never written. Fails before this change, passes after.
A follow-up update hook to purge empty overrides already in storage could be a separate change.