You’ve done it correctly. The home page has no parent because it’s at the root so it’s parent is set to 0.
If your page-not-found document is also the home page, a link to document 0 should take the user home.
You could also put the home page under a container and set things up so that going to that container document forwarded the user to the home page.
What I’d probably do is replace the [*parent*’] tag with a snippet tag. In the snippet, check the parent and if it’s 0, forward the user wherever you want, if not, return the parent ID.
Hope this helps.
I’m going to need some help with that last option. On a scale of programming skills, 1-10, I am a 1.
Maybe this will help

Create a new snippet named "get_parent_id" with the code below and replace the [*parent*] tag with the snippet call.
ex: <a href="[~[!get_parent_id!]~]">Return</a>
<?php
// get_parent_id
$output ='';
$output = $modx->documentObject['parent'] != 0 ? $modx->documentObject['parent'] : $modx->config['site_start'];
return $output;
?>