I think I figured this one out. Apparently programs launched by dbus don’t by default see the wayland session. I was able to fix that by running:
dbus-update-activation-environment WAYLAND_DISPLAY
After that, dunst
(and other notification daemons I tried, like fnott
and mako
) started working as expected.