Is it possible to route traffic from the outside to a virtualbox VM on the inside of a macOS Mojave?
You have to set up NAT port forwarding rules then access your services by using the IP address of your Mac much like you would if it were a host behind a traditional firewall/router.

You can do this via the VirtualBox GUI in the Port Forwarding rules setup in the Network Settings preference pane for the individual VM.  In the example below, I show how you can set port forwarding for SSH on port 2222 of your host to port 22 of your guest (using the IPs from your question).





Alternatively, you can do this via the CLI using VBoxManage modifyvm.  So using the same example as above:

$ VBoxManage modifyvm "VM NAME" --natpf1 "SSH,tcp,192.168.2.86,2222,192.168.97.1,22"