This has been discussed a couple of times. In short, the issue is that MySQL is not able to store it unless the table has a specific character set so, arguably, it has been removed from the core for the time being.
You can remove this limitation by:
1. Making sure the qa_remove_utf8mb4($string) function returns the $string without any change
2. Replacing the charset used in qa_db_connect() from utf8 to utf8mb4.
3. Updating the MySQL fields that you want to store this kind of content to support (e.g.: posts.title, posts.content, words.word, etc). It can be done this way:
ALTER TABLE `qa_posts` CHANGE COLUMN `content` `content` VARCHAR(12000) CHARACTER SET 'utf8mb4' NULL DEFAULT NULL;
4. You may need to change the schema collation as well.
ALTER SCHEMA `q2adb` DEFAULT COLLATE utf8mb4_general_ci;
Note that as you're using more bytes to represent characters. InnoDB tables have a limit in the amount of bytes they index. When using InnoDB you have less characters to index (191 now), which means some queries might run slower.
BTW, here is how it looks like: