I don't know how monthly subscriptions work, but yearly subscription refunds are pro-rated.
> I'm surprised more people don't do one-time purchases to avoid these subscription refund stories I keep hearing
I'm not, at least not for apps like this that need consistent revenue to support regular maintenance and/or server costs in an era where customers balk when an app costs more than a few dollars. To achieve this you end up balancing whether or not to serve ads, hope you can just grow enough new users forever, charge for major updates, charge a subscription, or beg for tips. While there are some exceptions, you can probably tell that ads or subscriptions are generally winning this nowadays.
One-time purchases are a tricky thing, since you've realisitcally now precluded ever charging for a major update. This is great for them, and might be for you if you've gotten your math right, but if you haven't (or it changes) then you're stuck. And, for better or for worse, they tend to be the loudest users.
Marco Arment talks about this balance in general on an episode of the Accidental Tech Podcast a couple weeks ago when discussing how Casey (another host) should price an app he's writing. For context if folks aren't aware, Marco created Overcast, which is a popular 3rd party iOS podcast app. The discussion spans a couple episodes but I the post-show of [Episode 535](https://atp.fm/535) captures the gist.