Just adding the @Kaminary response, which was super useful for my system, in the sense that I could solve this bug easily by placing the:
$meuTimeZone = new DateTimeZone('America/Sao_Paulo');
Just below the POST entries that came via XHR from AJAX communication.
It is important to note that some Bugs like this are normal in all programming languages and it is essential to share this, as this is a test case to evolve the language in the next versions. PHP is a poorly typed but widely used language, easy to learn and with great support on the internet (mainly in English). It's even the one I like the most I've ever used.
According to the @ lost links in the question comments this should be resolved in the next versions of PHP.
For systems, or part of systems, more critical I recommend the use of ADA for example.