To address this concern:
It does not show my VPN public IP which is what I think should be shown as my public IP
It's working as intended. The VPN tunnel is required to make the port "open" from the internet but it doesn't/shouldn't impact the default gateway in any other way if you're using the configuration provided on our wiki page.
The alternative solution would be to push all of the traffic through the Linode VPS and then out to the internet which would mean that your external IP address would end up being not the current external IP which is provided by your current ISP but the external IP address of Linode. This is effectively what was supposed to happen by issuing the commands above and it did seem to work on my end so not sure what went wrong in your case.
Could you generate and send me a troubleshoot file and share the configuration from your Linode VPS at /etc/wireguard/wg0.conf and then send it over to me via private message? I could investigate this issue and possibly setup a simulation of how things are connected and configured exactly. Please make sure to sanitize the sensitive information from wg0.conf file (private WG key/public IPs) on VPS before sending it to me.
What's a troubleshoot file and how to generate it?
A Troubleshoot file contains the device's event logs, configuration files and other information useful for diagnostics. It can be downloaded from your device's WebUI, Troubleshoot page:
System → Administration → Troubleshoot