While I agree with the statement that this is confusing and unusual behavior, I actually like it.
It avoids scenarios in which a definition I don’t know about may cause issues, since anything given an explicit name within the file I can see has precedence. This solves a lot of potential mistakes that make these “import everything” statements considered bad practice in other languages, because a change to code elsewhere can’t suddenly override what is immediately visible.
It’s of course still confusing because the user probably doesn’t expect this behavior, and these styles of generic import statements probably just shouldn’t be a thing in any language. But I think nix’ with is one of the nicest.