Where did you attach the text? It makes a difference whether you parent it to render or render2d, because of the different render-order requirements for both scene graphs.
Under render, you might also need to call:
self.text.setCardDecal(True)
which enables a slightly-more-expensive rendering mode that should guarantee the card appears behind the text.
David