After a bunch of searching and experimentation it appears that the only setting that will accomplish this is ignore
.
nmcli c mod enp10s0f4 ipv6.method ignore
This gave me only the SLAAC address and ignored DHCPv6 entirely. Unfortunately it also ignored the setting ipv6.addr-gen-mode
and gave me an EUI64 address even though it was set to stable-privacy
.
3: enp10s0f4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:24:27:88:13:67 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.75/24 brd 10.0.0.255 scope global dynamic noprefixroute enp10s0f4
valid_lft 172789sec preferred_lft 172789sec
inet6 2001:db8:8d7f:9760:224:27ff:fe88:1367/64 scope global dynamic mngtmpaddr
valid_lft 86398sec preferred_lft 86398sec
inet6 fe80::224:27ff:fe88:1367/64 scope link
valid_lft forever preferred_lft forever
For my purposes this is acceptable but you'll have to decide for yourself whether you can accept trading one problem for another.