Had something similar with AMD (desktop) GPU some years ago. It wouldn't go to the lower power states if my desktop refresh rate was set above 119 Hz. So it would be hot and fairly loud. So I ended up using 119 Hz on the desktop and configure games to use 144 Hz.
I also noticed that the video card wouldn't decrease the RAM clock rate significantly, but when on the desktop reducing the RAM clock a lot had a very noticeable impact on heat and no measurable performance degradation. The answer I got for that was that it was tricky to dynamically scale the RAM to such a degree (IIRC I set it to half normal speed). I ended up using an overclocking tool with profiles, worked fine.
It's frustrating that this problem is present with all-Apple hardware.
However, I'm not sure whether that's due to a recent software update or the fact I recently switched the cable I use from HDMI to DisplayPort.
My XPS 15 had a similar issue where turning on the GPU made it heat up and become loud - actually the discrete GPU offered no performance increase because the heat made everything throttle....... sad! At least I could use an external monitor with that one though.
It's just a limitation of the laptop form factor. My desktop has a 45 watt processor, same as the i7s, and it has a huge block of metal and a 120mm fan to keep it cool quietly (but still audible under load). There's no way to fit a 45w CPU and 45w GPU into a laptop and make it work.
I'm frustrated because the fans often spin up loud when GPU usage and CPU usage are both below 10% - when I'm literally just reading my email.
Unfortunately, some conditions force the discrete GPU to activate - one of which is "being plugged into an external monitor." Even if you've only got terminals open, the GPU runs real hot with 1% load, and the fans ramp up to match. (This may only be true for some monitors - my work-provided monitor is the Apple Thunderbolt Display).
Sometimes Slack forces the discrete GPU to turn on, for example when clicking on an embedded youtube video. The discrete GPU will remain in use until Slack is restarted. Other applications sometimes behave similarly - I use https://gfx.io/ to see what applications are forcing it on.
Perhaps the cooling engineering is better, but the practical effects of it make me miss my 13" laptop.