This is the correct solution, but probably want to pick a different port 8080 and forward to the LAN client at port 80. You’ll also need to make sure that the VPN server allows clients to talk to each other. So from the PC you’ll hit http://10.10.5.6:8080, and get that forwarded down to the device.

If you’re actually going to scale this to 300 clients, you’re going to need something more than a stock ASUS router. For one thing, you’re going to need to go up to a /23 or /22 address block, since you’ll run out of addresses on a /24. I’d recommend getting a pfSense or OPNsense box, which are going to be able to handle that traffic. I would absolutely not recommend using WireGuard for a solution that involves hundreds of endpoints. Whatever its virtues, it is not manageable at scale. Depending on what the actual device is, you could run Tailscale or Zerotier (or Nebula) with your own self hosted control server (headscale) and then it’s kind of taken care of for you, and the MT300 isn’t doing the heavy lifting on the processing side of things.

The issue in this case is that he wants to access the local network from a different VPN client rather than the VPN server (which is what the access local network part does). You’d have to write routing rules on both the 10.10.5.10 client (to know to send 192.168.8.0/24 to the VPN server) and on the server to forward that traffic back out to the 10.10.5.6 client. This can be done, but then you have another issue - each subnet on the other clients has to be unique, which is a severe PITA if you have 300 clients (don’t ask me how I know). IMO it’s easier to do all of this in pf rather than iptables, but it can be done either way. It’s just a huge pain.