Its not wrong…
If you do not specify the u option, the erlang regex module will interpret the input as latin-1, so a nfd "ö" is "oÌ" <> <<136>> where the second character is uppercase, for an nfc "ö" the regex sees "¶", where the first character is uppercase.
So as you can see the matches are correct.


















