What I meant by "Does the Core A need the data from the Core B?" was: does the Core module of A need the data from B? or is it only going to be used by the Front-End module of A?
Using Aggregates directly in the Preparation is actually considered a best practice. But it all depends on your requirements.