I finally solved this last problem. I posted it on SE: https://android.stackexchange.com/questions/230983/the-phone-as-hotspot-doesnt-use-its-own-dns/231206#231206
It turns out this is expected behavior: the phone as a DNS client doesn’t use the DNS server it runs.
However I installed Virtual Hosts which allows to define custom hosts entries without rooting the phone. The app is really easy to switch on/off, so I’ll be able to use it only when I sync DAVx5 (which I do manually only) through the phone access point.