I'm not sure if I have the exact same problem. I also have a Fritzbox. At boot (or systemctl restart systemd-networkd) my machine running stretch is able to obtain an IPv6 global address and networkctl reports no problem. After several days the IPv6 global address disappears, leaving only a link-local address. This problem disappeared - tested for several months - after cherry-picking [6554550f]. See also [GH#3879].
Best, Joost [6554550f]: https://github.com/systemd/systemd/commit/6554550f35a7976f9110aff94743d3576d5f02dd [GH#3879]: https://github.com/systemd/systemd/issues/3879