If you can change the code, one method is to have it read the root location from configuration (e.g. a String bound into JNDI) and then load the files from there rather than trying to use classloader resources.
Putting them in a static module is a good solution, but it usually requires either moving them to inside the JBoss directory or using a symlink (which is difficult on Windows).
If you can alter the external location to have a parent directory, you could add a new item to the -mp list to JBoss in run.bat to add a new modules directory there. That's not great though.