I think the general idea behind this was: If you have something reusable, please make a plugin out of this and call it from macros. Macros should be only the top-layer; the workflow let’s say. Components should not be written in macro.
If macros call macros, which call macros, which call macros, which call macros… things become complicated to maintain. Also macro might not be the best programming language we have available in the ImageJ universe.
I recently saw a presentation where somebody suggest to NOT call Jupyter notebooks from Jupyter notebooks. The better way is to structure code in a library, clean it up and even distribute it to others. In the ImageJ-world this unfortunately means translating code from one language to another.
I hope that helps.