You are right about the correct URI to connect to Zimbra using WebDAV. I found this useful info on the Zimbra wiki: WebDAV - Zimbra :: Wiki. If I use the Cadaver command line utility I can see both Calendar and Contacts entries:
The number and timestamps of these entries correspond with the test data I entered in Zimbra. I haven't been able to open them in Cadaver (though I could probably do it if I persisted). So there is no problem connecting to Zimbra over WebDAV. However even with exactly the same URIs and user credentials, I still see nothing in Kontact. Is this a bug, or is there still some (very non-obvious) config I am getting wrong?
[root@localhost ~]# cadaver http://localhost.localdomain/dav/test/Calendar
Authentication required for Zimbra on server `localhost.localdomain':
Listing collection `/dav/test/Calendar/': succeeded.
2cfada66-b4c8-466a-b5f2-2ab7f96d5563.ics 0 Nov 27 23:53
2eb4dd70-7fb9-4f53-be71-d037a3bd4da6.ics 0 Nov 27 23:53
a447427b-7583-4d74-b125-a6fbc29d2feb.ics 0 Nov 27 23:53
b7f33d3f-40c1-43c5-82e3-2a75ef087243.ics 0 Dec 7 22:01
ee387187-301b-436f-9d55-fea4cf67f3d1.ics 0 Nov 27 23:53
libkcal-1113360700.715.ics 0 Nov 27 23:53
libkcal-1910145149.763.ics 0 Nov 27 23:53
libkcal-255717412.156.ics 0 Nov 27 23:53
libkcal-585540646.454.ics 0 Nov 27 23:53
dav:/dav/test/Calendar/> cd ../Contacts
Listing collection `/dav/test/Contacts/': succeeded.
13b7ffba-e22f-4486-86b5-fa8c2d607859:280.vcf 280 Sep 26 00:13
13b7ffba-e22f-4486-86b5-fa8c2d607859:320.vcf 320 Nov 22 00:37