Thank you on a detailed report. I am hopeful that it will help us narrow down the issue.
I got a better understanding of LCCS code over the weekend and I have a few clarifications to make:
1/ At first, LCCS does not know what type of authentication to use (plain, basic, digest etc.) with the PUT request. The only information gathered from the client is the repository URL that may or may not contain credentials.
2/ Due to 1/, LCCS uses --anyauth curl paramater which sends a plain HEAD request (or plain PUT request with more recent curl versions) without credentials in order to let WebDAV tell it which authentication type to use (if one is required). That is why you see "- -" with HEAD request; this is expected. At this point, all the WebDAV servers I worked against would return 401 error with authentication details. Then LCCS turns around and sends a proper PUT request with credentials and the desired authentication type. What is puzzling about your WebDAV is that it returns 404 error and not 401 which also breaks our workflow for PUT.
3/ I do know that some WebDAV servers prefer PROPFIND request instead of HEAD but at this point we do not support that in our implementation. It is definitely something we want to add as soon as possible.
At this point, I would focus on a difference between 404 and 401 response to the HEAD request. Let's see if we can figure out why that is and if your server can possibly return 401 instead.