First, welcome to the UDP side ;-).
There have been a couple of such investigations. My overall experience with “energy consumption” is, that it starts with such measurements and analysis, but usually ends up in something “from … up to …”, because especially in “low radio signal” cases, network searches will require significant energy.
Anyway, my solarchamp v2 runs now for more than a year, with two mild winters. I use a 4.0V supercap, that provides more energy down to the 3.3V (or 3.0V) than a 3.8V.
My lessons learned:
There are also cheaper “solar charger” for makers, e.g. Adafruit 6091.
Better use a separate solar panel, otherwise the device may get hot in the sun.
And better go for 5V solar panel, than a 6V.
Adding Strategy 4: use a mature DTLS 1.2 CID implementation also on the server-side (I’m obvious biased). Best one with a “DTLS graceful restart” (which keeps the DTLS associations for the clients even over an server update).
“The reason reconnecting is so expensive is that you’re paying for LTE re-attach, DTLS handshake, observation re-registration, and metadata exchange every single cycle. With the always-open approach you pay that cost once at boot and the modem handles the rest.”
Using a DTLS 1.2 CID implementation will also save the DTLS handshake. “observation reregistration” (do you mean RFC 7641?), well in many deployments, there is simply no need for that at all.
Finally: the choice using a “static ip network” rather than DTLS 1.2 CID may work, but may also fail sometimes. I would guess, that the main factor for that decision is the absence of DTLS 1.2 CID implementations in the used eco-system (rust) rather than saving 8 bytes or so.
Let’s see, how many will try to setup the network in a “static ip” way, e.g. (sometimes) IPv6, VPN, IPSEC and so on, whatever your cellular provider supports.