I see you have not fully followed through on reading policy
here:
,----[ § 7.2 ]
| In case of circular dependencies, since installation or removal
order
| honoring the dependency order can't be established, dependency loops
| are broken at some random point, and some packages may not be able
to
| rely on their dependencies being present when being installed or
| removed, depending on which side of the break of the circular
dependcy
| loop they happen to be on.
`----
Clearly if dpkg really enforeced that, no circular dependecy would
ever work as the packages would be installed, but could not be
configured because a depencency was not configured.
Clearly, dpkg authors have read all of policy, including the
caveats about circular dependencies.