[EDIT to clarify: here I’m talking about writing a javascript based extension, not a content blocker]
That’s not my experience (in the admittedly only browser extension I’ve ever written).
After getting it working to my satisfaction in Chrome and Firefox, I created the Safari macOS/iOS versions by running
$ xcrun safari-web-extension-converter --bundle-identifier <bundle ID> .
in my repo. Then I opened xcode, configured the signing/capabilities, and built it. IIRC I had to create the directory for the output because xcode didn't do it itself, but once that was done I could install it to both macOS and iOS. Honestly I was surprised it was so little effort. I don’t doubt that an extension with more functionality than mine might require a jumping through a lot more hoops, but it definitely
can be easy to successfully target Safari IME.