Thank you for helping, I've found what I needed and that is the Shelly SmartPlug
Shelly SmartPlug supports both, a documented Cloud API (Through shelly servers) so you don't need to intercept or reverse Engineer anything.
as well as support for MQTT protocol.
you will need to enable it first through its web interface, enter your MQTT broker IP and port and ...
The Sonoff S31 running the Tasmota firmware is probably the best solution that will let you customise where it connects to.
The S31 supports power monitoring and using the Tasmota firmware lets you control where it sends the data. So meets all the requirements you have listed.
------ BIG Edit Now I'm not on my phone -------
But to put in a vote for another ...
I use a combination of Belkin/Wemo and other devices that are inexpensive and have had the same issues. My solution was to flash them with Tasmota: https://tasmota.github.io/docs/.
This fixed my issue with them being unresponsive but of course, I broke the vendor cloud connection.
My solution was to use homeassistant: https://www.home-assistant.io/ to manage ...