System.Char のドキュメント (*1) を参照して「Unicode 文字を表します。」と書いてあるのを鵜呑みにし,第 4 水準の「𢌞」(廴+囘,U+2231E) という字を char に入れようとして失敗した。
public class Program
{
public static void Main()
{
string s = char.ConvertFromUtf32(0x2231e);
char c = s[0];
MessageBox.Show(s.ToString(), "s"); // 表示される
MessageBox.Show(c.ToString(), "c"); // 文字化けする
}
}

Microsoft の言う「Unicode」とは Unicode ではなく UTF-16LE のことである。ConvertFromUtf32() の返り値が string 型なのを怪しく思いながら,なかなかその理由に気付けなかったことが敗因だった。
(*1) 古いバージョンを見たのがいけなかった。その後「文字をUTF-16 コード単位で表します。」と訂正されている。