Since you always get the old and new page object, you can find out the differences without a problem, you don’t need a pre hook for that. I always wanted to extend my Kirby Logger plugin to save differences to a database, just haven’t got round to it yet.
kirby()->hook('panel.page.update', function ($page, $oldpage) {
// your code
});