Of course, but that runs counter to the philosophy of inheritance. If you changed the default, you have to then go back and change all such faces.
Again, if it was something like :underline or :bold or :height, you wouldn't see this problem: setting them to nil would remove any inheritance, and then, whenever you change the 'default face, your face's final resolved value automatically uses that.
It seems that :fg and :bg also try to implement precisely that (providing a nil option as well as 'unspecified), but then don't do the final step correctly.
It seems that the design of faces goes out of its way to carefully distinguish nil from 'unspecified, precisely to allow you to clear an attribute..