Overheating: unable to underclock and GPUPerfModes are meaningless

Dell Inspiron 5480 (optimus)
OS: Arch Linux x86_64
Kernel: 5.7.12-arch1-1 nvidia-bug-report.log.gz (280.2 KB)
DE: GNOME 3.36.4
CPU: Intel i7-8565U (8) @ 4.600GHz
GPU: NVIDIA GeForce MX150
GPU: Intel UHD Graphics 620

When performing intensive tasks, my laptop overheats and ultimately shuts down due to rapidly reach high temps (over 90 in 3 minutes or so). So I’m struggling for several weeks on how to underclock my card.

I managed to enable underclock/overclock in nvidia-settings using coolbits. However I’m mainly facing three problems: (i) the minimum offset I’m able to set is -200Mhz, which is no enough. (ii) Overclocking takes effect immediately in nvidia-settings powermizer panel, but only in the P3 (which has the highest values Mhz) and underclocking does not (even with the inexpressive maximum offset of -200). Finally, (iii) I have 4 GPUPerfModes (0 to 3), three of them have the same min and max values (see here):

0 139-607
1 139-1911
2 139-1911
3 139-1911

SO, to deal with overheating, I need to underclock my card or change GPUPerfModes to more realistic values and let’s say, stick on a performance level which is satisfactory and do not lead to extreme temps. Why the problems reported above (i, ii, and iii) are happening? There is something wrong with my config files? Settings? Any ideas?

So I have two questions: (i) how to underclock

Has anybody any ideas? I’m still struggling with it…

Have other Nvidia GPUs that not allow underclock the gpu clock to less than the minimum allowed.
I understand the problem.
Try see if the gpu fan is working correctly.
Unhappily notebook gpu are very hot even and for old intel cpus where the gpu is integrated in cpu the problem is more worst. the cpu work allways above of 55 C being extremely hot and the fan not is enough to that temperature.