According to its documentation, CreateProcess defaults to the ASCII if UNICODE is not defined.
I'm not able to find this macro defined anywhere in spawn and in any case, v_prog is passed as-is to CreateProcess which means the string is not UTF-16 encoded.
If you call spawn on Windows with ~prog:"C:\path\to\a\Unicěde.exe" the process will fail with:
Error: CreateProcess(): No such file or directory