I made something similar a few years back with a Pi 1 and a GSM "hat". It came with a C SDK so I had to write AT commands to communicate directly with the modem and it worked great until I didn't need it anymore. Its purpose was to text me when my power or internet connection went down at home then I could respond with commands such as to shutdown the servers etc. When power/network came back it would text me the new…
Instead of paying for a separate SIM, I've been piggybacking on the "data only" SIMs that Google Fi let's you add to a normal subscription. No extra per-SIM fees, and you just pay for whatever data it uses at $10/gb. More details on my modem, monitoring setup, and IPMI backhaul strategy using Wireguard here: http://jsharkey.org/ipmi/
I can pay my mobile provider an extra £7.50 per month for a "second SIM" to share the allowance from my main SIM (you're effectively paying to rent another number).
It's not a terrible expense, but for something I need to send an SMS maybe 1 per quarter is a little much. I guess if you look at it as a "service" it's not bad, but this was a home thing, nothing critical would be lost if I couldn't get my home IP until I got home. Now I use DDNS using a small piece of Go code I wrote to update the domain on my Digital Ocean account as a form of "free" DDNS, it runs on my router on connect/reboot.