As an FYI, it is possible to do it (replying on this old thread, as I was looking for the same answer, and this is one of the threads that popped up in Google).
Anyway, the key is to distort your own game and not the stream. Watchers of your stream won't see a difference, only you will see a difference in your own game:
- Distort your own game by setting the in game screen to 1280x720 (or any multiple of this). So go to your in game settings, and change the resolution in game. This means your game screen that you see when you play will look a bit stretched. If this doesn't work, then I'm afraid you're stuck.
- In OBS, under "sources", right-click on your game source (of which you just changed the resolution) and select "properties". Make sure "stretch image to screen" is selected.
- In OBS, in your "scene", click "settings" and go to "video". Change the resolution to a custom resolution of "1280x720". You are now sending 1280x720 data for your stream.
- In OBS, in your "scene", press "edit scene" (to reorganise the elements). under "sources", select your game "source" and right-click "position-size > Fit to screen". This step makes sure the game screen 1280x720 matches the streaming screen (1280x720).
That's it. Your game is sourcing in 1280x720, your scene is streamed in 1280x720 and fit to screen made sure both were aligned.
It should work for any resolution.