That’s an interesting idea, at least I couldn’t find a contradiction in it readily (though I don’t have much experience in designing overload resolution and inference).
Currently the compiler doesn’t work that way: the signature of the function is fixed during the compilation and at the call site types are inferred according to the constraints specified in that signature. Default value of an argument is an implementation detail of the function and cannot affect type inference of its usages.