It works. Though I seem to have lost GPU sensor data in iStat, as well as some temperature readings. Is there additional configuration I need to set in order get correct SMC output for my model (iMac17,1)?

I think your explanation is good.
As far as I can tell (at least according to the HW monitors) the iGPU is always in some state of low-level activity alongside the dGPU. Far more noticeable of course when video is playing.
Inserting a 'headless' ig-platform-id specific to one's iGPU is apparently helpful as well.

Silly to expect any hardware to be indefinitely futureproof.
There may be deeper optimizations in Mojave that necessitate this move. We don't know yet. Either way I don't think Apple is being at all unreasonable cutting off support for hardware 7+ years old.

It burns through more development resources than people realize to try and continually support legacy hardware, and delays rollouts of newer features.
It's nice to not have to upgrade every couple years (like we used to). But nowadays people get lazy and self-entitled thinking they deserve to be able to run modern software on antiques.

That's happening to me too… or was. It's ceased now for whatever reason. Also doesn't do it when there's aggressive throughput (multi MB/s). Could be a power management issue?
Edit: Never mind, keeps randomly disconnecting again.

Lol, it happens.
Ah, okay. Yes that'd be good.
I think default behavior should be IO > SMC… at least for Radeon GPUs, since typically not much info is given by the (very few known) SMC keys. Nvidia may be different, we'll have to see what people post.

It's probably because I have the HD530 configured in "headless" mode (ig-platform-id 0x19120001) so it can act as a video decoder (which dramatically reduces CPU utilization). I'll try booting through it sometime tonight and seeing what's output.
You had it right… AMDCPUMonitor is for AMD CPUs, no? RadeonMonitor for Radeon GPUs—it's what was giving me core temps before. But now it's possible to retrieve that and more without.
I'd say for now list them automatically (like everything else already does afaik). Giving users preference is better of course, but it'd be awkward to have one display submodule customizable while others are not. Maybe later that customizability can be expanded upon.