Mostly irrelevant to your case, either an approaches, library, protocol, component ... has such functionality out of the box or not, but you are developer and can add such mechanism.
Like above, wither the ..... (above mentioned) have such mechanism or you have to implement it, it is way easier to choose the one with already have these functionality, but yet implementing these are not rocket science, because even when the library provide authorization and locking you still as developer have to put that part and almost every single one will have an event like to adjust or override.
In my opinion yes WebDav is the best out of the box, i have my own WebDav, i built it with SecureBlackBox it is using RTC as TCP socket server, working brilliantly, on my Android i use different software (From FDroid and Google Play like https://play.google.com/store/apps/details?id=com.lonelycatgames.Xplore this explorer i am using since Nokia 80 8GB and many other apps that support WebDav) to perform browsing and backup my files etc, because WebDav is a standard.
One more important thing, stay away from FTP and FTPS, they are pain in the back and not faster, just slower.
On other hand SFTP is also viable option for you, SFTP is SSH based, does support locking, but there is a and extension for WbDav https://datatracker.ietf.org/doc/html/rfc3253 this one in particular is adding full file versioning, which is just what you need, i don't have in my expired SSB, also don't know where to find one for you, also my server is checking for User Agent if it is not specific one then it is WebDav and if it is specific one it will be forwarded to RTC Server (socketless) here i added RTC full blown HTTP server with support to Portal for remote controlling the whole PC while i have HTTP server for different.... well these things and modules in RTC are hard to explain but in short you can have many services and functionality without adding a single line of code just add the unit and you will have chat messenger or all RTC demos.
Also here is few SFTP libraries for Delphi that can help you start, do you know of this https://www.nsoftware.com/sftpdrive/ and its price, it is simply what doctors recommend too, mount an remote SFTP directory as a drive on Windows !
Another solution is just convert your single user application to multi user using RTC, which is also brilliant, and will take you few hours or may be days to get know the library, but once you did, you will be able to implement anything with few lines, its remote procedures are most powerful you ever imagine, while threading is talking care of and you don't need to waste a second on it, so i suggest to get know it, also there is RTC Portal which does have remove file sharing, and will really serve you well as how to do things in very fast manner.
As Anders explained, and i repeated, many of these fine tuned functionality is up to you and you have to put these, like custom locking or ... all the locks can be timeout, all connection can be limited to speed or time, Kas is taking hell of time writing post then disconnect him for now, let others write to the thread, when he is done, he will post, if the server see a conflict then rename the file/thread in way like being forked then notify the users or someone to solve the conflict, Lars will come and start yelling, deleting ,threatening to ban, oh boy .. Lars will do Lars.
Anyway, hope that helps.