Turns out that the django app providing the HTTP server was listening only to the localhost interface, 127.0.0.1. In order to be reachable outside the VM, it it needed to listen to 0.0.0.0.
I fixed this by running the server like this:
python manage.py 0.0.0.0:8000