If you want to include eastern languages, and you choose to use bitmap fonts, expect your generated font textures to be huge. 2048x2048 will work for a small font, but anything decently sized will fill up your 4096x4096 texture quickly. 4k textures won't work well if at all on older devices, plus they eat up a ton of memory. You can stick to dynamic fonts instead, which will mean that it will be up to Unity to manage memory for you based on whatever characters you need at the given time. That said, I don't know if all the issues with dynamic fonts have been resolved. There have been countless problems over the years.
Dynamic font's size property is a legacy Unity setting. It controls the size of the font for when you're printing it using Unity's 3D text.
You can use bbcode in dynamic font labels for things like italics, bold, hyperlinks, etc -- just not emoticons. Emoticons come from atlases, and dynamic font labels don't use atlases.
If you want to support emoticons as well and those emoticons will only be to the left or right of your text, I suggest using 2 labels instead. One for text, and another for emoticons.