k8s deletes nodeAffinity from pod specs
kube-dns is a service discovery mechanism within GKE, and the default DNS provider used by the clusters. It is managed by Google and that is why the changes are not holding, and most probably that part of the code was removed in the new version.
If you need to apply a custom configuration, you can do that following the guide Setting up a custom kube-dns Deployment.