Duh. Of course. So i got rid of the check for the home page and amended it to this, and its working now. Thanks all.
'image' => function($page) {
$image = $page->shareimage()->toFile();
if($image) {
return $image->focusCrop(1200, 630)->url();
} else {
$image = site()->shareimage()->toFile();
if($image) {
return $image->url();
} else {
$image = new Asset('assets/images/fallback.png');
return $image->url();
}
}
},