Currently SDL_GetDisplayDPI seems to be always returning 96 on Windows 10, regardless if the monitors have different DPI. The application was also DPI-aware according to the task manager when I tested it.
After digging around the code I’ve discovered the function uses GetDpiForMonitor system call with MDT_EFFECTIVE_DPI set instead of MDT_RAW_DPI, which returns logical DPI instead of a physical DPI. And as far as I know, logical DPI value is completely independent from the physical display.
Would it be possible to add support for retrieving the raw DPI value of a display in Windows?