Terraform 1.0.4 can't target indexed modules

According to the docs Command: plan - Terraform by HashiCorp and related bugs "-target" doesn't work with modules · Issue #1434 · hashicorp/terraform · GitHub and fix core: module targeting by phinze · Pull Request #1820 · hashicorp/terraform · GitHub it should be possible to target indexed modules, however it does not appear to work. It shows differences on the targeted items, but doesn’t add the targetted items to the plan… only dependencies.

$ terraform plan -target 'module.foo["bar"]'

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the last "terraform apply":

  # module.foo["bar"].aws_instance.named-instances["bar-3"] has been changed
  ~ resource "aws_instance" "named-instances" {
        id                                   = "i-0d793a9d089a141f9"
        tags                                 = {
            "Environment" = "production"
            "Index"       = "3"
            "Name"        = "bar-3"
            "Provisioner" = "terraform"
            "Service"     = "bar"
        }
      ~ vpc_security_group_ids               = [
          + "sg-01e013ab1b010edc1",
            # (1 unchanged element hidden)
        ]
        # (28 unchanged attributes hidden)

      ~ root_block_device {
          + tags                  = {}
            # (8 unchanged attributes hidden)
        }
        # (3 unchanged blocks hidden)
    }
  # module.foo["bar"].aws_instance.named-instances["bar-4"] has been changed
  ~ resource "aws_instance" "named-instances" {
        id                                   = "i-0f9dad079abe9aae9"
        tags                                 = {
            "Environment" = "production"
            "Index"       = "4"
            "Name"        = "bar-4"
            "Provisioner" = "terraform"
            "Service"     = "bar"
        }
      ~ vpc_security_group_ids               = [
          + "sg-01e013ab1b010edc1",
            # (1 unchanged element hidden)
        ]
        # (28 unchanged attributes hidden)

      ~ root_block_device {
          + tags                  = {}
            # (8 unchanged attributes hidden)
        }
        # (3 unchanged blocks hidden)
    }
  # module.foo["bar"].aws_instance.named-instances["bar-1"] has been changed
  ~ resource "aws_instance" "named-instances" {
        id                                   = "i-05bb5757a025db351"
        tags                                 = {
            "Environment" = "production"
            "Index"       = "1"
            "Name"        = "bar-1"
            "Provisioner" = "terraform"
            "Service"     = "bar"
        }
      ~ vpc_security_group_ids               = [
          + "sg-01e013ab1b010edc1",
            # (1 unchanged element hidden)
        ]
        # (28 unchanged attributes hidden)

      ~ root_block_device {
          + tags                  = {}
            # (8 unchanged attributes hidden)
        }
        # (3 unchanged blocks hidden)
    }

  # module.foo["bar"].aws_instance.named-instances["bar-2"] has been changed
  ~ resource "aws_instance" "named-instances" {
        id                                   = "i-0b70d76b9e7117df6"
        tags                                 = {
            "Environment" = "production"
            "Index"       = "2"
            "Name"        = "bar-2"
            "Provisioner" = "terraform"
            "Service"     = "bar"
        }
      ~ vpc_security_group_ids               = [
          + "sg-01e013ab1b010edc1",
            # (1 unchanged element hidden)
        ]
        # (28 unchanged attributes hidden)

      ~ root_block_device {
          + tags                  = {}
            # (8 unchanged attributes hidden)
        }
        # (3 unchanged blocks hidden)
    }

  # module.foo["bar"].aws_route53_record.public-lb-cname[0] has been changed
  ~ resource "aws_route53_record" "public-lb-cname" {
        id              = "A1ZSDZKHTYZRY4_bar_CNAME"
        name            = "bar"
        # (6 unchanged attributes hidden)
    }

Unless you have made equivalent changes to your configuration, or ignored the relevant attributes using ignore_changes, the following plan may include actions to undo or respond
to these changes.

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # module.foo["bar"].aws_iam_role.service-role[0] will be updated in-place
  ~ resource "aws_iam_role" "service-role" {
        id                    = "bar"
        name                  = "bar"
      ~ tags                  = {
          ~ "Environment" = "staging" -> "production"
            # (2 unchanged elements hidden)
        }
      ~ tags_all              = {
          ~ "Environment" = "staging" -> "production"
            # (2 unchanged elements hidden)
        }
        # (8 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

  # module.foo["bar"].aws_route53_record.public-lb-cname[0] will be updated in-place
  ~ resource "aws_route53_record" "public-lb-cname" {
        id              = "Z1YSCZKHHYZRY4_bar_CNAME"
        name            = "bar"
        records         = [
           "lb.bar.foo"
        ]
      ~ ttl             = 600 -> 300
        # (4 unchanged attributes hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

But even if I apply said plan, no changes are made … even to the dependencies:

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

How does one target an indexed module?