I have traced it even further back, howerver, and discovered the problem lives in JBoss71Server... That's the class where it should be returning different values for metadata vs server vs custom deployment location, and that's the file where it wasn't doing it. The class you mention is functioning exactly as desired, but JBoss71Server was the one ignoring what should be happening.
https://issues.jboss.org/browse/JBIDE-12090 tracks the bug, and its progress