also a bit more info, it seems the “correct” way to modify sys.modules is already provided by
bpy.utils.register_submodule_factory
# Snippet
def unregister():
from sys import modules
for mod in reversed(submodules):
mod.unregister()
name = mod.__name__
delattr(module, name.partition(".")[2])
del modules[name]
submodules.clear()
return register, unregister