ipv6.method=manual on ppp disables IPv6
Setting ipv6.method=manual or ipv6.method=link-local on a PPP interface adds the "noipv6" option to the pppd commandline. pppd therefore does not advertise IPv6 support to the peer.
NetworkManager still adds the IPv6 address to the NIC when it is brought up, and it does appear that IPv6 packets are transmitted, but (in my case at least) the peer discards them since our LCP packets had indicated no IPv6 support.
_ppp_manager_start() only sets ip6_enabled if method=auto:
ip6_enabled = nm_streq(ip6_method, NM_SETTING_IP6_CONFIG_METHOD_AUTO);
It looks like there is a similar issue for IPv4 too:
ip4_enabled = nm_streq(ip4_method, NM_SETTING_IP4_CONFIG_METHOD_AUTO);