Aggregating multiple collections using $lookup with nested relationships

Firstly let me note, I am aware the data modelling is questionable here in a non-relational DB. But it is inherited and we are attempting a tactical solution at this point.

We have 3 collections; collectionA, collectionB and collectionC. These have relationships of CollectionA is one-to-many to CollectionB and collectionB is one-to-many to collectionC. The child document holds a ref to the parent.

Now we have a single use case requiring us to retrieve an aggregate of all 3 into a CollectionA document.

Maybe naively we are attempting this with multiple $lookup stages like so:

[
  {
    $lookup: {
      from: "collectionB",
      localField: "_id",
      foreignField: "CollectionBId",
      as: "collectionBList",
    },
  },
  {
    $lookup: {
      from: "collectionC",
      localField: "collectionBList._id",
      foreignField: "collectionCId",
      as: "collectionBList.collectionCList",
    },
  },
]

Now unfortunately the result we get is the following:

{
  _id: ...,
  collectionBList: {
      collectionCList: [...]
  }
}

Note the collectionBList is not an array of objects as expected but instead a single object with the child collectionCList.

Could we get some guidance on an optimal approach to producing the desired aggregation and where we might be going wrong with our existing pipeline? Regardless of the fact whether the model itself is suboptimal.

Many thanks!