Looks like I’ve found the issue. Following the nginx log I can see the username is URLencoded when others aren’t:
10.10.20.108 - user%40domain [01/Apr/2025:14:24:57 +0100] “PROPFIND /SOGo/ HTTP/2.0” 401 172 “-” “iOS/18.4 (22E240) accountsd/1.0”
[unknown] Thanks, I’ll give that a try. Looks like something has changed in 18.4 that changes the encoding of Cal/CardDAV usernames.
[unknown] That works! Thank you. Interestingly it calls the correct user@domain as opposed to user%40domain that entering the details manually does. Definitely something changed in Apple world!