I've paid few digital goods/service with Bitcoin and so far i'd just make big deposit and paid in advance for few months or an annual. As for options you mentioned, it requires the wallet connected to internet in order to create & broadcast the transaction at specific interval, which probably isn't best option if you have serious security concern.
If you have money, you buy annual plan but if you don't have, then monthly subscription is the best method and usually, people choose monthly plan over annual plan. It's easier to pay $30 every month than $300 once a year.
But in practice it wouldn't be easy since due to few factors such as choosing appropriate fee rate and security issue (such as if the wallet ask for address and amount from server).
Why wouldn't be easy? Electrum is a good example. It is lightweight, has automatic transaction fee calculator and estimator, i.e. it can estimate whether 5 sat/vByte fee is a good choice or bad choice right now, it can also estimate in how many blocks will your transaction get confirmed. I don't know how it calculates fee but if it moves on mempool.space's model, then I think this problem will be solved.
By the way, Electrum can fantastically convert bitcoin into fiat and gives you an option to choose your preferred btc/usd rate source.
So, to sum up:
1. Electrum can convert bitcoin in fiat
2. Electrum can calculate transaction fees.
What needs improvement?
1. Transaction fee calculation method must be improved
What features does Electrum need to get?
1. Electrum should be able to automatically generate transactions with fixed fiat and should be able to convert it into BTC and make a transaction with appropriate fee, in case fee gets increased out of nowhere and transaction gets stacked, we can also give it permission to use RBF feature by default.
Is it hard? I don't think so. I am not a software developer (learning some) but I assume this is not really hard to make but correct me if I am wrong.