It is a classical committee product, solving non-existent production tasks.

Years long discussion of how to encode maps canonically, because
they decided that keys can be nearly any data type. And still giving
non-satisfying proposal, leading to dCBOR creation.

Canonical and streaming modes of operation are mutually exclusive.
There are no sane real life reasons why it could not be possible.

Hardly you will find of CBOR libraries supporting strict validation
of canonically/deterministically encoded CBOR structures.

Tagged string/integer can not be considered as a viable first-class
bigint/datetime data support, because many decoders do not support
tagged values further processing.