It's difficult to pause the typewriter at exactly the right moment. As far as I know, there's no reliable way to detect the current typewriter position. And no way to tell it to skip parts of the text (the pause tag).
You can split the text into multiple sub-strings, and type each sub-string separately. But there is another problem - the built-in typewriter clears the text if restarted..
I would make my own typewriter, here is an example:
dropbox.com/scl/fi/zf1tmjxl5deo6srrl4i3o/BBCode_Typewriter2.c3p
I'd also suggest not using square brackets for tags, because Construct can mistake them for BBCode. I often use ^ symbol for breaks in the text.