In order to call a unicode Windows API function (GetFileAttributesW) I was using BLI_strncpy_wchar_from_utf8() which doesn't work as expected on the Windows platform. It is creates integers (UTF32) and then asserting out when that won't fit into a wchar_t, which is 16-bit on Windows.
The fix is just to be more explicit in the conversion. I am needing UT16 so I get those exactly by using conv_utf_8_to_16() instead.