The associations were created with .sort() but I still get the error.
I removed them and tried again just in case, but still have the same problem. Here's a preview, up and preview.
 pl preview --diff
Previewing update:
  pulumi
pulumiStack: (same)
    [urn=urn
pulumistage:
managed infrapulumipulumi
Stack:managed-infra-stage]
    + aws
ec2clientvpn/networkAssociationNetworkAssociation: (create)
        [urn=urn
pulumistage:
managed infraawsec2clientvpn/networkAssociation
NetworkAssociation:assoc-0]
        [provider=urn
pulumistage:
managed infrapulumiproviders
awsdefault 1 19 0:20df1138-1914-4916-aa26-b87c05e0ab2d]
        clientVpnEndpointId: "cvpn-endpoint-00f28758291a1c579"
        subnetId           : "subnet-0d8f31780fdb9602b"
    + aws
ec2clientvpn/networkAssociationNetworkAssociation: (create)
        [urn=urn
pulumistage:
managed infraawsec2clientvpn/networkAssociation
NetworkAssociation:assoc-2]
        [provider=urn
pulumistage:
managed infrapulumiproviders
awsdefault 1 19 0:20df1138-1914-4916-aa26-b87c05e0ab2d]
        clientVpnEndpointId: "cvpn-endpoint-00f28758291a1c579"
        subnetId           : "subnet-037eec31203453d7b"
    + aws
ec2clientvpn/networkAssociationNetworkAssociation: (create)
        [urn=urn
pulumistage:
managed infraawsec2clientvpn/networkAssociation
NetworkAssociation:assoc-1]
        [provider=urn
pulumistage:
managed infrapulumiproviders
awsdefault 1 19 0:20df1138-1914-4916-aa26-b87c05e0ab2d]
        clientVpnEndpointId: "cvpn-endpoint-00f28758291a1c579"
        subnetId           : "subnet-08301af09876e1446"
Resources:
    + 3 to create
    51 unchanged
Permalink: 
https://app.pulumi.com/Synthesis-AI-Dev/managed-infra/stage/previews/1dce16cf-6e05-4fbc-9731-7e0522537381
  master  managed-infra  pl up --yes
Previewing update (Synthesis-AI-Dev/stage):
     Type                                    Name                 Plan
     pulumi
pulumiStack                     managed-infra-stage
 +   ├─ aws
ec2clientvpnNetworkAssociation  assoc-2              create
 +   ├─ aws
ec2clientvpnNetworkAssociation  assoc-1              create
 +   └─ aws
ec2clientvpnNetworkAssociation  assoc-0              create
Resources:
    + 3 to create
    51 unchanged
Updating (Synthesis-AI-Dev/stage):
     Type                                    Name                 Status
     pulumi
pulumiStack                     managed-infra-stage
 +   ├─ aws
ec2clientvpnNetworkAssociation  assoc-2              created
 +   ├─ aws
ec2clientvpnNetworkAssociation  assoc-1              created
 +   └─ aws
ec2clientvpnNetworkAssociation  assoc-0              created
Outputs:
    allSubnetIds    : [
        [0]: "subnet-071cc2414add306b0"
        [1]: "subnet-0c92dfb7944f0d429"
        [2]: "subnet-0ef0eeb105af9a7fe"
        [3]: "subnet-0d8f31780fdb9602b"
        [4]: "subnet-08301af09876e1446"
        [5]: "subnet-037eec31203453d7b"
    ]
    privateSubnetIds: [
        [0]: "subnet-0d8f31780fdb9602b"
        [1]: "subnet-08301af09876e1446"
        [2]: "subnet-037eec31203453d7b"
    ]
    publicSubnetIds : [
        [0]: "subnet-071cc2414add306b0"
        [1]: "subnet-0c92dfb7944f0d429"
        [2]: "subnet-0ef0eeb105af9a7fe"
    ]
    region          : "us-east-2"
    vpcId           : "vpc-0bec8002f61d4a4ce"
Resources:
    + 3 created
    51 unchanged
Duration: 6m13s
   pl preview --diff
Previewing update (Synthesis-AI-Dev/stage):
  pulumi
pulumiStack: (same)
    [urn=urn
pulumistage:
managed infrapulumipulumi
Stack:managed-infra-stage]
    +-aws
ec2clientvpn/networkAssociationNetworkAssociation: (replace)
        [id=cvpn-assoc-0b73da15f9a0f5591]
        [urn=urn
pulumistage:
managed infraawsec2clientvpn/networkAssociation
NetworkAssociation:assoc-1]
        [provider=urn
pulumistage:
managed infrapulumiproviders
awsdefault 1 19 0:20df1138-1914-4916-aa26-b87c05e0ab2d]
      ~ subnetId: "subnet-037eec31203453d7b" => "subnet-08301af09876e1446"
    +-aws
ec2clientvpn/networkAssociationNetworkAssociation: (replace)
        [id=cvpn-assoc-0497a0192f16ad1b8]
        [urn=urn
pulumistage:
managed infraawsec2clientvpn/networkAssociation
NetworkAssociation:assoc-0]
        [provider=urn
pulumistage:
managed infrapulumiproviders
awsdefault 1 19 0:20df1138-1914-4916-aa26-b87c05e0ab2d]
      ~ subnetId: "subnet-037eec31203453d7b" => "subnet-0d8f31780fdb9602b"
Resources:
    +-2 to replace
    52 unchanged