xml-conduit モジュールの Text.XML.Cursor.content や attribute などは
戻り値として text モジュールの Data.Text.Internal.Text 型のリストを返します。

このリストの要素に対して text モジュールの Data.Text.unpack 関数を適用すると
String 型の値が返ってきます。

しかし、なぜ Data.Text.Internal.Text 型の値に
Data.Text.unpack 関数が使えるのでしょうか。

Data.Text.unpack :: Text -> String の第1引数の型は
Data.Text.Text であって、Data.Text.Internal.Text ではないにも関わらず、です。