From where I sit the immediate options you have are:
In your modem/router, adjust which ports it port forwards (via NAT) to your internal VM servers. E.g. leave your PrestaShop at 80, but make your Tracks appliance 8080 (port forward external/WAN port 8080 to internal VM port 80). Most consumer grade modem/routers support config like that. However this now leaves you with the issue of how to connect to Tracks. Options:
Just use the same domain name but with the addition of the port; e.g. http://coolsite.com/ for your PrestaShop and http://coolsite.com:8080/ for Tracks. This will work but isn't ideal IMO...
I'm not sure if DNSDynamic support it or not, but some of the dynamic DNS providers allow domain names to be forwarded to IP that include a port; e.g. coolsite.com -> 123.123.123.123:8080.
FWIW ChangeIP (another free dynamic DNS provider) support that usage, and they also support subdomains so you could have shop.coolsite.com and www.coolsite.com pointing to your PrestaShop (via port 80 on your modem/router) and tracks.coolsite.com pointing to your tracks appliance (via port 8080 on your modem/router). I'm not necessarily endorsing ChangeIP I just know that they support this config (and I have used them for quite some time and it works well).
Also TKL also provide dynamic DNS via HubDNS (requires a TKL Hub account) but you are limited to tklapp.com subdomains (and I'm not sure about the port thing...)
Set up a reverse proxy (or configure one of your VMs as a reverse proxy). TBH I have never set this up (I always intended to to get better understanding of the process) but Apache and most common webservers (NginX, LigHTTPd etc) allow for that sort of configuration. I have read that Pound is a dedicated reverse proxy and is easy to configure... A reverse proxy basically accepts all incoming requests and redirects them to the relevant servers. So you would point your domain name to your modem/router (via DynamicDNS or whoever) and port forward port 80 to the reverse proxy. That in turn redirects the relevant domain name to the relevant server.
Use TKL Docker containers - AFAIK if you set up Docker then it provides a reverse proxy. Although I don't know enough and haven't tested enough to highly recommend this option.
On face value your plan seems reasonable but I have a few things for your to consider:
What upload speed has your internet got? Unless you have a fibre connection with a reasonable upload speed then you may find you lose customers to pure frustration... (Remember your upload speed is their download speed and it will be divided between multiple users)
For best Google SEO you will want your domain name to stay the same. Rather than use a free Dynamic DNS provided name I recommend buying one.
A few thoughts...
Firstly great that you are loving TKL! :)
From where I sit the immediate options you have are:
FWIW ChangeIP (another free dynamic DNS provider) support that usage, and they also support subdomains so you could have shop.coolsite.com and www.coolsite.com pointing to your PrestaShop (via port 80 on your modem/router) and tracks.coolsite.com pointing to your tracks appliance (via port 8080 on your modem/router). I'm not necessarily endorsing ChangeIP I just know that they support this config (and I have used them for quite some time and it works well).
Also TKL also provide dynamic DNS via HubDNS (requires a TKL Hub account) but you are limited to tklapp.com subdomains (and I'm not sure about the port thing...)
On face value your plan seems reasonable but I have a few things for your to consider: