The NFC used by Twitter goes through Canonical Decomposition followed by Canonical Composition¹. This implys to me that decomposition splits it and then it is inelligible for canonical composition. The best way to track what it does is the Unicode Character Database (UCD). Searching the UCD I can see U+FB31 is in the Composition Exclusions file under the Script Specifics heading. That heading² is described as:
canonically decomposable characters that are generally not the preferred form for particular scripts.
So, sorry to say, this is pretty much "by design". Unicode works hard to maintain the ability to represent scholarly/academic texts³ but normalization can't always accommodate that data. When you normalize you sometimes have to pick one thing over another. When you pick a side it makes more sense to favor common usage over scholarly. In Twitter's attempt to represent a "character" in some understandable and relateable way it sometimes has to favor the common forms like this. At least that was my thoughts when I wrote it. Might be wrong.