Filter on Array creates document with wrong type

Hi, I am trying to filter on an array type, and then perform an upsert.

using MongoDB.Bson;
using MongoDB.Driver;

class MyModel
    public ObjectId _id;
    public string[]? myArray;
    public int? myInt;
public class UnitTest1
    public async void Test1()
        var client = new MongoClient("mongodb://localhost:27017");
        var database = client.GetDatabase("MyDatabase");
        var collection = database.GetCollection<MyModel>("MyCollection");

        var update = Builders<MyModel>.Update.Set(x => x.myInt, 5);
        var filter = Builders<MyModel>.Filter.AnyEq(x => x.myArray, "not_found");
        var options = new FindOneAndUpdateOptions<MyModel>
            IsUpsert = true,
            ReturnDocument = ReturnDocument.After

        MyModel result = collection.FindOneAndUpdate(filter, update, options); // fails to deserialize

Currently it is throwing an error because it seems like it is trying to upsert the document with the “myArray” field set to a string type causing a type mismatch. Can someone explain to me how I can achieve the upsert with the array filter?