I’ve found Epiphany (a.k.a. GNU Web), which is based on WebKit, to be decent proxy for testing on Safari—in my last project of this sort, where I was developing on Firefox and could check in Chromium, I was able to reproduce each of the three or four Safari issues that were raised, in Epiphany.
Having done a bunch of mobile web work recently, I don't think that's actually true -- I hit weird issues on both Safari (on iOS) and Chrome (on Android). (And Firefox for that matter)
Safari does have its weird glitches but it's not inherently glitchier than other browsers.
There are some APIs it doesn't implement, but you don't need real hardware to catch that, MDN / caniuse has all the compatibility data and there are tools like ts-browser-compat for automated checks.
you can’t test on Apple devices without owning one, or paying altogether too much
Right, that's the real problem. But again I don't think it's Apple-specific. If you're a Mac user, in principle you could install Android Studio and test your app there, but a) that's a huge hassle, and b) an emulated phone on a desktop isn't close enough to a real phone to be useful for QA.
You really need to test on both iOS and Android hardware, there's no two ways about it.
I guess it would be good if you could install Safari on Android, and/or real Chrome on iOS. Then you'd only need to buy one phone. And that is on Apple, as they're the one blocking it in each case.
That's correct, but Apple phone users are customers with money used to paying.
Yep! And it sucks, but this is the #1 reason why most web developers are using macs. If you want to test across all major platforms, it's the only way to do it from one machine (testing windows on a mac is a bit iffy on Apple Silicon macs, but it can be done).