I've got the same issue with Qt3DExtras::QText2DEntity. But I found the workaround.
Look like there is a bug? in implementation of Qt3DExtras::QText2DEntity that prevents internal initialization (
QText2DEntityPrivate::setScene is never called). This happens when scene is already visible and Qt3DExtras::QText2DEntity is created with parent entity passed to constructor. The workaround I used to make it work is to pass nullptr (which is default) as parent in constructor and call ->setParent(parentEntity) in separate call.
m_text2dLabel = new Qt3DExtras::QText2DEntity(); m_text2dLabel->setParent(parentNode);