I solved the issue. Apparently the order of the XML tags inside "system" is relevant. Looks like I was simply creating a new text behind the background... After moving it to below the background image tag, it finally showed up.
Here's the final code (after the background image tag)

<text name="by" extra="true"> <pos>0.85 0.969</pos> <color>ffffff80</color> <fontPath>./art/font.ttf</fontPath> <fontSize>0.02</fontSize> <text>hello world</text> </text>

Text tag reference on ES md documentation