It seems uci-defaults that changes network config gets overridden after flashing the image for the first time.
My guess is that network config is auto-generated at a later time, after uci-defaults executes. I wonder is there a way to make certain uci-defaults script run after network config auto-generation?
My guess is that you have some error in the uci-default setup in buildroot that you have built the firmware with that result in a failed load of the uci-default or you have remade the source code a lot.
Or you have tried some non standard changes in a already installed firmware?
You can, but I don’t think they would be populated on first boot. At most, I disable the ISP DNS servers from DHCP (peerdns), then add the ones I prefer.
set network.wan.peerdns='0'
add_list network.wan.dns='9.9.9.11'
add_list network.wan.dns='149.112.112.11'