I have never seen this before, and so I would guess that there is some missing information.
I would recommend troubleshooting through the process to find out where the problem is at. If the document root doesn't show up in cPanel, then I would check the cPanel error logs when you try adding it.
If it does show up in cPanel, but doesn't appear to show content from the right directory, I would next check the DocumentRoot in that VirtualHost in the httpd.conf file. If it's in httpd.conf properly and still doesn't do what you think it should after an Apache restart, perhaps troubleshoot your .htaccess files in the path to your document root.
If it is incorrect in httpd.conf, try looking in /var/cpanel/userdata/(user)/(domain) to see if it's set properly there. If not, set it manually and/or check the cPanel error logs when re-adding the subdomain. Regardless, try rebuilding httpd.conf (/scripts/rebuildhttpdconf).
Those should be the only files necessary so, one of them should show the problem. If you still have trouble, you may try contacting your host as they should have access to review the situation and plenty of experience troubleshooting that type of issue.