Okay, I fixed my own problem. It was (mostly) my mistake. tunnelbroker.net gave me two DNS servers, one with an IPv6 address, one with an IPv4 address. On Advanced>IPv6, I'd set the IPv6 DNS server as the primary DNS server, the IPv4 as secondary. Since an IPv4 address was invalid in this context, the router must have refused to advertise itself as an IPv6 router. Once I deleted the IPv4 address, it started advertising itself.
The D-Link Web interface would give me error messages about invalid entries elsewhere on that configuration page, but not for that option. So, a minor bug in the firmware at worst.