Cleanly closing a cursor on a capped collection

I’m trying to read an endless tailable cursor on a capped collection using NodeJS mongodb 6.15.0 against the mongo:latest docker image.

The code I use looks like:

const collection = await db.createCollection(collectionName, {
    capped: true,
    size: size,
    max: max
 })
 const stream = collection.find({ _id: { $gt: 0 } }, {
    tailable: true,
    timeout: false,
    awaitData: true
  })
  for await (const doc of stream) {
    console.log(doc)
  }

And I ran into two problems:
a) if the collection is empty, the cursor will immediatly end the iterator and it won’t be waiting for new records coming in. Only if a first record is found the iterator will wait for additional records to come in.
b) if I close the cursor with stream.close() I would expect the iterator to cleanly end. Instead the driver throws MongoServerError: Executor error during getMore :: caused by :: operation was interrupted

Are there clean ways to solve this?

Kind regards,
Hans