Terraform Refresh only not working

I have overwrite the zone in the terraform.tfvars, but while running the terraform plan -refresh-only , why it is not showing that I have changed the zone and it will recreate the instance, instead of that it is giving below output, that doesn’t make any sense. What i am missing here?

terraform plan -refresh-only
google_compute_instance.server: Refreshing state... [id=projects/eng-bloom-346707/zones/us-central1-a/instances/refreshonly]

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the last "terraform apply" which may have affected this plan:

  # google_compute_instance.server has changed
  ~ resource "google_compute_instance" "server" {
        id                   = "projects/test/zones/us-central1-a/instances/refreshonly"
      + labels               = {}
        name                 = "refreshonly"
      + resource_policies    = []
      + tags                 = []