Turns out the missing ingredient was actually
set service dns forwarding options expand-hosts
With that, I can lookup statically (non-DHCP) configured hosts as long as they are set up as follows:
system static-host-mapping host-name pegasus inet 10.42.1.2
That lookup works even from different VLANs (e.g. from DHCP-client 'laptop' in VLAN422, 10.42.2.86/24); both nslookup pegasus and nslookup pegasus.lan.mydomain.net work.
I can also lookup DHCP clients from statically configured hosts across VLANs (e.g. from non-DHCP FreeBSD host 'pegasus', VLAN421, 10.42.1.2/24); again, both nslookup laptop and nslookup pegasus.lan.mydomain.net work.
Despite adding 127.0.0.1 as a System Name Server in the UI (and even restarting dnsmasq), the edge router still cannot ping the DHCP hosts by their names, only those setup in static-host-mapping.
Also, I'm still wondering how my old all-in-one WiFi router automatically added hosts entries for non-DHCP hosts, and whether it is possible to do this on EdgeOS too. It seems like a fairly common feature at least in consumer-grade routers; I cannot imagine any consumer manually adding their NAS's IP and hostname to their router's DNS...