We currently support type mapping plugins at either the global, application-wide level, or at the connection level. The latter is a bad idea, requiring resetting of type mappings on each close, detection of changes from global, etc. This is inefficient, and incidentally was never supported for EF Core.
Once NpgsqlDataSource is integrated, we can implement type mapping plugin support at that level, and remove the connection-level API.
Note that if we actually share the same type handler instance across connections (as we already do with multiplexing), we must do #3961 before this.