TextElementHandler and TextNode calculate bounds differently.
TextNode is a scenegraph node used by TextElementHandler, so similar bound calculation is expected. Typically TextElementHander takes the bounds from TextNode, but when the node has not been created, having different bound calculation causes issues.