Your comments

A year later, this configuration line,

$config['url']['root'] = ''

just blanks out any page

(Obviously, I'm changing example and abc to be specific for my installation)

Here is my Nginx Config. This has been edited down for this post to remove personal stuff, but I believe it should work.
Also, I use a PHP FPM Pool for FileRun, which I don't show here.

WebDav works with this config as tested using cadaver, but the first folder shown is @Home and not My Files - confusing, yes!!

    listen 443 ssl;

    ssl on;
    ssl_certificate     /etc/nginx/certs/;
    ssl_certificate_key /etc/nginx/certs/;

    server_tokens off;

    root /var/www/nginx/html;
    index index.html;

    location /
        root /var/www/nginx/html;
        try_files $uri $uri/ /404.html;

    location /.well-known/acme-challenge
        allow all;

    location /filerun
        ## Not Needed ##
        #dav_methods PUT DELETE MKCOL COPY MOVE;
        #dav_ext_methods PROPFIND OPTIONS;
        #dav_access user:rw;

        root /var/www/nginx;
        try_files $uri $uri/ =404;

        index index.php index.html;

        keepalive_requests    10;
        keepalive_timeout     60 60;

        client_max_body_size 800M;
        client_body_buffer_size 128k;

        if (!-e $request_filename)
            rewrite ^(.*)$ /index.php break;

        # PHP configuration
        location ~ \.php(?:$|/)
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            include fastcgi_params;

            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param HTTPS on;

            #Avoid sending the security headers twice
            fastcgi_param modHeadersAvailable true;
            fastcgi_param front_controller_active true;
            fastcgi_intercept_errors on;
            fastcgi_request_buffering off;

            fastcgi_pass unix:/run/php/php7.0-fpm.sock;