getCreatedAtFormatted is declared:
public function getCreatedAtFormatted($format)
$this->getCreatedAt() to create
DateTime and if you create
new \DateTime(null) you get current date.
The above means that if you have no value for
created_at data of order, you are still going to get valid
This is why
getCreatedAtFormatted works and
getCreatedAt is not.
Now all you need to figure out is why order is lacking created at value.
My guess is, that
created_at is added by a timestamp update in the table, and to get its value, you may need to call