I've only been focusing on getting 32-bit games captured with 64-bit OBS. Going this direction is fully supported by VirtualAllocEx, WriteProcessMemory, etc. However, getting 64-bit games to load until 32-bit OBS will be problematic. 64-bit games are not common and it might be best to just limit 32-bit games to 32-bit OBS, but allow 32-bit and 64-bit games to load under 64-bit OBS.
I'm currently playing around with having 64-bit OBS capture 32-bit games. It's going so far as to attempt to inject the DLL but failing. CreateRemoteThread executes just fine. It's failing on GetExitCodeThread(), so something is not returning or working right within GraphicsCaptureHook.