In msvcrt.spec, we also have vsnprintf as an alias of _vsnprintf, I didn't touch that since I don't know if that's deliberate. But this alias is used (by e.g. winecrt0, i think?), if this one is also wrong then it might break other things.
It's deliberate, that's the way it works on Windows. That's also why we don't want to change the inline definition. Any caller that can potentially link to msvcrt needs to be able to handle the old behavior.