Try taking your recorded video and upscaling it.
I've heard that when YT's encoding system sees a supermegahighresolution video it treats it differently and works harder to make the lower resolution versions higher quality than 1080p/etc input. I've never explored this myself, YMMV, but it's worth a shot.
The only issue is that upscaling is a necessarily lossy process; perfect-pixel scaling looks terrible (see below). Unless YT's encoding system is amazing, I fully expect smoothing will be needed for the video to still look good when the (reencoded, scaled-back-down) 1080p/720p versions are watched.
So it's about striking a balance between the upscale>downscale process introducing the least possible amount of blur/lossiness. This is generally a trial-and-error problem that will require real-world input (specific to what you'll be showing on screen; for example, a majority of text).
(Also, I have no idea if you can remove/hide/etc certain video resolutions when uploading video to YT, but you'd almost certainly be hiding the 2K/4K uploaded version in this case.)
I fiddled with ffmpeg for a bit; the two bits of info that proved most useful were the scaling howto page and the scaler documentation.
Here's what I came up with:
ffmpeg -i help.mp4 -c:v libx264 -preset ultrafast -vf scale=iw*4:-1:flags=neighbor+bitexact+accurate_rnd+full_chroma_int+full_chroma_inp+print_info -y help4x.mp4
-c:v libx264 -preset ultrafast makes the encode go faster but use lots of disk (in this case 6.6MB out vs 1.7MB in). Upscaling seemed to need 1GB+ of RAM and all of my CPU regardless of encoding settings, so if you have more bandwidth than time, you may prefer the speedup. The H264 encoder has other speed/performance settings, see https://trac.ffmpeg.org/wiki/Encode/H.264
-vf scale=iw*4:-1 upscales the video 4x >:D -
iw = input width,
*4 (multiply by 4) is self-explanatory,
-1 = "figure out width from height and keep aspect ratio."
neighbor here to show you which is the one that doesn't do any blurring/smoothing, ie perfect pixel doubling/tripling/etc... and to let you know that it actually looks surprisingly bad scaled back down (I wasn't expecting that).
experimental looked good, unsure if it was better than the default
bicubic. I strongly recommend leafing through https://ffmpeg.org/ffmpeg-scaler.html, putting together a short test video that showcases what you actually want to record, and trying all of the encoders (possibly even uploading all the test videos). Whatever work you do here, I'm curious what results you get!
accurate_rnd+full_chroma_int+full_chroma_inp+print_info over at https://superuser.com/questions/782133/ffmpeg-upscaling-video and tossed them in. I have no idea what they do/if they help. :D
bitexact sounds nice. I have no idea what this also does.
print_info shows you which scaler you're using just under "Press [q] to stop".
-y enables overwriting. Otherwise ffmpeg nags you with a "overwrite (y/n)" every time.