A ordem em que os endereços estão inativos não é relevante. O problema é que o Linux geralmente usa o primeiro endereço configurado como endereço de origem padrão para IPv4, mas o último endereço configurado para IPv6. Que esse endereço aparece no topo é coincidência.
Se você quiser definir manualmente o endereço de origem padrão, poderá fazê-lo na tabela de roteamento. Isso funciona para IPv4 e IPv6:
ip add route default via 2001:db8::1 dev eth0 src 2001:db8::1234 metric 1
A métrica garante que essa rota seja escolhida em qualquer outra rota padrão (SLAAC, scripts de inicialização, etc.). Uma coisa a ter em mente é que se você adicionar tal linha ao seu script de boot é que o Linux irá se recusar a adicionar a rota, desde que o endereço de origem escolhido ainda esteja no estado provisório. Os scripts de inicialização recentes aguardam a conclusão da detecção de endereço duplicado para evitar isso. Se o seu sistema ainda tiver quebrado scripts de inicialização que não esperem, você pode usar um script como mostrado em link em vez disso.