The comment for the function and the comment preceding the function calls say that it is suppose to overwrite every field.
The case insensitive comparison is useful to check if the profiles are similar. It is not the case for the overwrite.
When I made the change to support punctuation a while back, we decided that we should always keep the latest version entered by the user. That way the behavior is previsible to the user. This is already how it works for punctuation and it should be the same for case.
Comment 1 by bugdroid1@chromium.org
, May 4 2016