No, there was no difference. It does not even return the $old_page object for some reason. I’m working around the problem by calling another method with the same arguments. That way I can test the function without even trigger the hook.
By the way, the hook output $old_page when triggered by the panel, but not by the trigger function.
I also noticed that if I try kirby()->trigger() to test multiple hooks, it only run the first one. The rest is skipped. Therefor I can’t run an update hook and then a delete hook directly after. Maybe it’s to prevent unlimited loops.
Thats exactly why it is only triggered once. But if you loop through pages and need to trigger the correct events for each page you can reset the triggered array in the loop.