OK, I fired up a Windows VM with ASCOM to look at the presets but I'm not sure what I'm seeing.
Offset should vary with gain. I checked two cameras, each of which has a preset for highest dynamic range, unity gain, and lowest read noise. They are:
Gain 0, offset 10
Gain 111, offset 10
Gain 270, offset 10
Gain 0, offset 30
Gain 120, offset 30
Gain 390, offset 30
These fixed offsets are contrary to what I understand about gain & offset. Then I started thinking this offset value was based on the maximum hardware gain, a common trick for standardizing your calibration library on a single offset -- but when I tested the ASI183 at Offset 10, it was pretty clearly clipping at gain 270. 20 seems decent, 30 seems safer still. The problem I need to correct is that when I originally took my dark calibration frames with KStars/Ekos, it used an offset of 8 (I must have missed correcting this). NINA used a default of 30, so they didn't match.
So, I don't know how these presets are supposed to work. Maybe I've got some ASCOM driver issue or something, though I did install the latest ZWO ASCOM drivers and it didn't make a difference.
I switched to the native driver for the ASI294MM-Pro and noticed that ASCOM default offset of 30 works great at gain 120 (unity), but is not enough for gain 390.
Then I thought I would try ZWO's ASIStudio software. That didn't expose offset at all, so initially I thought it must adjust it automatically... Gain "low" looked good. Gain "medium" seemed clipped. Gain "high" was badly clipped.
This seems like a missed opportunity for camera makers to deliver gain/offset lookup tables with their drivers (in ASCOM you can add your own presets, apparently). Software makers could provide a "calibrate offsets" button but this would be best just specified by the mfg. But that button could take some pictures to calculate a good offset for a given gain. For example, at Gain 120 it could take 2-second exposures at offsets in increments of 5 or 10 (starting at 5, never 0) until no pixels clip. This would be a more automated way to do what the human eye can do with a histogram. Then you could do this for multiple gains.
Another consideration would be to maybe make the default in KStars larger than 8; 30 seems safe, but I'm sure this varies a lot by camera.
Hopefully someone with more experience imaging and/or ASCOM can comment on this further.