Ggf. klappt es ja mit Views bzw. Casts für die BI-Welt um die Übertragungslast zu minimieren:

cast(trim(UnicodeFeld) as varchar(nn) ccsid 1208)

CCSID 1208 entspricht UTF-8.
Dies ist ja variabel zwischen 1-4 Byte, wobei eben 99,9% aller Zeichen nur 1 Byte lang ist.
Damit kann das Übertragungsvolumen ja reduziert werden.

Allerdings geht der SQL-Server (oder auch andere ODBC-Programme) nicht davon aus, UTF-8 zu bekommen sondern entweder SBCS (1252 ANSI) oder Unicode (2-byte-Code).
Für die Umwandlung UTF-8 in Unicode gibt es im SQL-Server allerdings keine Standardfunktion.
Diese müsste man als .NET-Funktion noch integrieren.

Eine Komprimierung von 2-byte-Zeichen (im ODBC-Treiber einstellbar), wobei eben bei 99,9% das 1.Byte immer x'00' ist wird nicht so effektiv sein, da solche Routinen selten auf diese Spezifika eingehen.
X'40404040' lässt sich eben besser komprimieren als x'0020002000200020'.

Für BI gibt es nur eine vernünftige Lösung:
Übertragen der Daten in die SQL-Datenbank per Update-Lösung (Scripte), so dass nur neu entstandene Daten kopiert werden müssen und nicht immer alles.

Alternativ kannst du ja auch Views erstellen, die dir für BI alles wieder auf 273 umwandeln solange du keine gemischten Daten (West-/Osteuropa) hast.

Und vielleicht ist ja alles gar nicht so schlimm.