You need some .well-known url redirects for proper iOS support. Ironically, Nextcloud describes this quite well. You should be able to adapt this to your setup: https://help.nextcloud.com/t/properly-resolving-well-known-caldav-or-well-known-carddav/82617
I’m not sure if this is your exact problem but it’s worth investigating. I had to fix this before iOS clients started syncing with NextCloud. Desktop and android clients would sync fine.