Unfortunately I have no specific tutorials that I know of that would help. What I would say is that I went from pretty much zero knowledge on Unity UI to this level in the last month and I think it really came down to forcing myself to make a UI only game.
As I encountered each problem, good ol' Google was my friend and just slowly built up my knowledge. Learning how to use TextMeshPro (Unity), StringBuilder, and Coroutines even at a basic level allows all the different animations and text hyperlinks.
For the text typing - I can give you the basics algorithm: it takes a string and adds a character per frame/seconds using Unity Coroutine (return new WaitForSeconds(0.015f)) and StringBuilder.Append(character). The sound is using Unity Audio (PlayOneShot(sound)) just ensuring the volume and frequency has about 10% variation each play with Random.Range() so it is less monotonous. Hope that helps.