Musisz użyć new: true
aby uzyskać zaktualizowaną wartość i rzutować id na obiekt mongoose objectId, aby działało
Post.findOneAndUpdate(
{ 'posts.replies._id': _id },
{ $set: { 'posts.$[post].replies.$[reply].text': "something1" } },
{ arrayFilters: [{ 'post._id': postId }, { 'reply._id': _id }], new: true }
)