SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS, should be initialized on the same thread as SDL_INIT_VIDEO on Windows if you don't set SDL_HINT_JOYSTICK_THREAD
See Implementation
SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS, should be initialized on the same thread as SDL_INIT_VIDEO on Windows if you don't set SDL_HINT_JOYSTICK_THREAD