Why dosn't after fetch (or any other model functions) get called on a query but do on a find?

 public function singleSelect() {
        $this->setOperation(Enum::REQUEST_GET);

        $account = Accounts::findFirst(42156); //calls afterfetch

        $account = Accounts::query()->where('id = :id:')->bind(['id'=>'42158'])->limit(1)->execute()->toarray(); //dosnt call after fetch

        return $account->toArray();
    }