I just realized my mistake by following your advice @ansgar
To be honest, to this day I had a wrong understanding of the "TCP Dynamic Ports" in the "IPAll" group.
My understanding was that the client PCs were connecting to the Server Browser Service via 1433 and the browser service was routing them to 52221 in the example of my picture above. Every application I wrote to date I never had to specify the port, 1433 was assumed and this has been working for me for years, even using the value 52221 in my "TCP Dynamic Ports" in the "IPAll" group.
It seems that I was either wrong or HeidiSQL behaves differently. I have no problem in being wrong, and I'm glad you mentioned the port because when I entered port number 52221 in HeidiSQL it worked like magic. Because I never had to do it for any other application I wrote, I've been assuming it behaved the way I mentioned above, clients reaching out to server browser via TCP/1433, server browsing routing them to my fixed dynamic port 52221.
Let me know if you have any further thoughts...