Okay, I figured it out. You cannot use the yml file because /etc/hosts is created at runtime by Docker itself. To add entries to it, you need to use the --docker-args option to launcher at rebuild time.
./launcher rebuild app --docker-args "--add-host extra.dns:8.8.8.8"
./launcher enter app
grep extra /etc/hosts
8.8.8.8 extra.dns
There are a slew of dns / resolver / similar options for docker run, and those are the ones you need to use for this sort of stuff.