Based on the issues you mentioned, let me summarize.
1 Label and RichText, when using None and BitMap mode, will limit the size of the atlas to 2048 * 2048 when rendering text, more than that will not be rendered. Using Char mode, there is no such problem
2 Char mode, currently does not support the operation of the underline.
Also, if you need to use underline, there is a suggestion for you. That is, you make a judgment about the length of your text content and split it into multiple labels to use. In addition, because splitting into multiple labels will lead to the problem of increased drawcall, you can use the dynamic atlas to combine batches.