"Module imports are not transitive—that is, importing a module provides access only to function and variable declarations contained directly in the imported module. For example, if module A imports module B, and module B imports module C, module A does not have access to the functions and variables declared in module C."
https://www.w3.org/TR/xquery-30/#id-module-import
I have noticed before that BaseX does not appear to implement this see [1] My case was a conflict in a module that was imported internally within an EXpath Package and the same namespace used as a module in an application. I have just seen another example today where the current behavior was regarded as a "good" feature.
I don't remember ever seeing any discussion on this. Is this something that might be implemented at some point?
/Andy