Time with Timezone (timetz) has as default DateTimeOffset. Timestamp with timezone (Timestamptz) has 'DateTime' as default type. We map only default types so we map Timezone with Timestamp to DateTime as that's the default type for Timezone with timestamp.
DateTimeOffset however is a different kind of type, it represents a point in time relative to UTC. Because of this you need to convert the DateTime value that is returned by Npgsql into a DateTimeOffset (we only read the default GetValue() value, we don't read the GetFieldValue<T>() value which returns the alternative type in Npgsql).
This conversion between DateTime and DateTimeOffset has to be done in a type converter, and we don't ship that particular one with the framework so you have to create one yourself. This is documented here: https://www.llblgen.com/Documentation/5.5/SDK/gui_implementingtypeconverter.htm
As the whole time / timezone aspect of postgresql & Npgsql is rather confusing at times, just to be clear: you really want to convert it to DateTimeOffset?