If I also connect to my own VPN (using loopback or hairpin NAT), I would be assigned 10.0.8.10 and from there, I can just type my parent's assigned VPN IP as 10.0.8.4 and voila, I can get the ARD working.
That indicates that the VPN is, indeed, handing out its own block of IP addresses separate from those of your LAN. I don't know the specifics of the VPN server you're using to know if that's normal/expected, but my gut reaction tells me it's not - the main point of the VPN is to connect remote clients with systems in the LAN, and if it creates a private LAN for VPN clients that defeats much of the purpose.
So I'd look more deeply at the VPN server config. Maybe that's the default block of IP addresses and it's supposed to be changed to match your LAN during the setup?
What I am trying to achieve eventually is that, my Macbook Pro does not need to connect to my own VPN. In such a case, I would get my local IP address a 192.168.x.x while my parents' iMac, for certain, would be connected using VPN and would get 10.0.8.x.
A better solution would be to get your parents' system an address in your 192.168.0.x network.
You may also be able to overcome this via routing on your host. Since its address is 192.168.0.x, any traffic for any other address is sent to the default router (which, presumably, is not your VPN server). You could tell your MacBook Pro to send traffic for 10.0.8.x to the IP address of the VPN server instead:
sudo route add -net 10.0.8 <IP of VPN server>
This command (executed on your MacBook Pro) would be transient and need to be re-entered after a reboot, but it may be worth trying to see if it works, and then you can look to automate it.
I can have my home's network and my parent's home connected using a site-to-site VPN devices and config
That would also solve the issue, and save them from having to initiate the VPN connection manually. However, having a fallback plan is advised, just for those occasions where the site-to-site doesn't work for whatever reason.
Or, I could have my parent's home Router to update the Dynamic DNS (Dyndns.org) so that they can have a hostname which I can use from my macbook pro to point to their iMac's address. Do you think it would help?
dyndns would only ever map to their public IP address and is not what you want here. Technically you could do it if you didn't mind punching holes in their NAT router to let public traffic in on the ARD ports(!), and if you didn't care about securing the connection between them and you. I highly recommend against this option.