No, I think that you are exactly correct. The module will be compiled, regardless, if not done already. Then, any name in @EXPORT will be added to the global namespace. If you provide a list of routines in your use statement, they must be in @EXPORT_OK.
Nothing will lead to any sort of performance problem. Everything goes through a one-time “compile (on the fly)” process and, once done, never happens again (AFAIK) for the duration of the run. If there is a performance issue in this app, “red herring ... look elsewhere.”