A plugin can only be a single .py file, because the plugin folder is not in the Python path.
If you want to include additional files, I recommend to distribute them as a Python module in the scripts folder, and import them from the plugin. You can also set them as a dependency, see Maya plugin template.
However, we’d still need wrapper code to handle differences in unreal vs Maya vs blender.
You could also make a Python module for each dcc, but this is kinda similar to the wrapper plugins
However if you need custom dcc code like adding to menu, dockable in Maya, parent to qt, it might still be worth creating a plugin, or a Python module as dependency.