NetworkManager needs to learn the RDNSS and DNSSL lists when it is internally activating an interface. But that currently doesn't necessarily mean that the interface transitions from being down to being up. Often it is already up, and NetworkManager needs to send router solicitations. I don't know about a proper API to ask kernel to do that. But a kernel caching RDNSS and DNSSL the whole time the device is LOWER_UP would work much better than doing this explicitly from NetworkManager. Alternative tools would benefit as well.
As RDNSS and DNSSL caching is pretty complex, and as bug #906505 suggests we need a way to trigger router discovery without disturbing the configuration, I would choose this as the short term solution instead of the caching mechanism. The only drawback is that it requires performing router discovery again, which would not be required if kernel caches *all* information that may be needed either by userspace or by the kernel later.
use libndp to get RDNSS and DNSSL whenever you want to. Closing this one.