>>649ですが自己解決しました。(質問した時点では自分の悩みも理解できていませんでしたが…)

まずstringで渡る文字列のエンコードは
ansi or unicode(utf-16)になる。どちらになるかはDllimport文で指定する。
でした。

ところで結局自分が渡したかったのはutf-8だったので困ってしまったのですが
stringstringではなくbytes[]を引数にすれば好きなエンコードで渡せるので解決しました。