Fixed it
OK, I fudged around and got it working. In a nutshell, the config file needs to be right.
In particular, the following entry, even though it say "document root", really means "site root"
// Path to user files relative to the document root.
$Config['UserFilesPath'] = '/mysubfolder/userfiles/' ;
The following entry is the absolute path from the root of the filesystem
// Fill the following value it you prefer to specify the absolute path for the
// user files directory. Useful if you are using a virtual directory, symbolic
// link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
// Attention: The above 'UserFilesPath' must point to the same directory.
$Config['UserFilesAbsolutePath'] = '/home/mysiteaccount/public_html/mysubfolder/userfiles/' ;