Oh man, MS really messed up the new .resx editor in Visual Studio.
It should be as easy as adding the System.Resources.Extensions nuget package, and then adding the image to the resx as you have done. Unfortunately, to compile for net48 it needs to store it as this (which works for both net48 and net7.0):
System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Instead of this, which only works for net7.0 or later:
System.Drawing.Bitmap, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
One way to get around this is to use the old resx editor by right clicking on the .resx > open with > Managed Resources Editor (legacy), which uses the correct values. Alternatively you can edit the .resx manually to change it.
It also appears that to compile on Mac (or with dotnet tools), you need to add <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources> to the csproj as well.
I’ve created RH-86497 to get the templates tweaked for this scenario.
Let me know if you run into any further issues.
Thanks for helping flush this out!