sf::Text::getLocalBounds()
ha valori diversi da zero per top
e left
campi, quindi non puoi ignorarli durante la centratura dell'origine.
Prova invece questo:
//center text
sf::FloatRect textRect = text.getLocalBounds();
text.setOrigin(textRect.left + textRect.width/2.0f,
textRect.top + textRect.height/2.0f);
text.setPosition(sf::Vector2f(SCRWIDTH/2.0f,SCRHEIGHT/2.0f));
Penso che questo sia un problema noto con il rendering del testo di SFML. Vai al tracker dei problemi e dai un'occhiata a questo problema.
Inoltre potresti chiedere al loro forum di sviluppo. Gli sviluppatori sono sempre molto cordiali e disponibili.