I use the exact same setup using Go instead of Nim.
It works marvellously well. I use VueJS when I have a page which requires more intensive JS.
For dead simple use case (no subdomains), I was even able to embed caddy within my static binary file.
Serving hundreds of users on a $5 VPS.