Technically it is MoarVM that handles graphemes as synthetic codepoints.
We call it NFG for Normalized Form Grapheme.
The JVM and JavaScript backends currently use the built-in string handling features. Which means that they are just as broken as the rest of the code running on them.
---
Of further note, you can use ignorecase in regexes to match "baffle".
"baffle" ~~ /:ignorecase BAFfLE /;