Destructure.ByTransforming<System.Type> does not appear to take effect

I am attempting to destructure System.Type by using just the type name, sans namespace, but am getting an unexpected result.

Setup

The first transformation works as expected, producing the short string (the first 8 characters of a Guid). However, the second is never called:

.Destructure.ByTransforming<Id>(id => id.ToShortString())
.Destructure.ByTransforming<Type>(type => UseUnqualifiedName(type) ? type.Name : type.ToString())

Usage

_logger.LogInfo("Instance loaded: {@Type}.{@Id}", typeof(MyProject.MyNamespace.MyType), id);

Expected

[INF] Instance: MyType.64b8ac0d

Actual

[INF] Instance: MyProject.MyNamespace.MyType.64b8ac0d

In addition, the fully-qualified name is green in the console output. I noticed this is also the case with System.Uri, and wonder if Serilog treats these types specially.

What can I do to affect the destructuring of System.Type?