after_catalog_created hook with after_context_created to get the context. I did the same
With before pipeline run you won't be able to access those datasets with say kedro ipython. Therefore there's no point in saving them
But if you use my way you'll have to namespace your datasets uniquely