Yeah, when that extension is set up properly, you would using code like...
superTextMesh.text = "Look at my emoji! ๐" and what it does is... I have a "preparse" event within SuperTextMesh that it uses, and this event is designed for methods you want to have modify the string after they've been sent to the text mesh, but before the text mesh actually evaluates the string. (This is also great for adding custom tags, check out the "links" example scene for some code with that)
So what it does is turns the above string into something more like "Look at my emoji! <q=emoji1234>" while dynamically creating a quad for the emoji at the same time, so the mesh can render it.
So this would work for you since you're going straight from code. You can just type emoji directly, send it directly to the text mesh, and have it be directly interpreted.
---
When you say "display them in nicknames and titles", do you mean you want to type the emoji more like :smiling: or <q=smiling>...? If that's the case, you can define whatever emoji you want your project to have either in the Text Data editor, or with your custom code you showed me which basically does the same thing to make STMQuadData objects with whatever name you want.
Then, if you don't want to type <q=smiling> and instead something like :smiling: or ":)", you can use the PreParsing event, just like the emoji one I sent to edit your script for you.
e.g. stringToBeSentToMesh = originalString.Replace(":)", "<q=smiling>");
...Like that, but more dynamic!