Thanks, this solved my problem!

However, I had to wrap the query within another nested query to ensure the single variant to have all attributes (not mentioned in my original post):

    {
      "query": {
        "nested": {
          "path": "variants",
          "query": {
            "bool": {
              "must": [
                {
                  "nested": {
                    "path": "variants.attributes",
                    "query": {
                      "terms": {
                        "variants.attributes.id": [
                          204
                        ]
                      }
                    }
                  }
                },
                {
                  "nested": {
                    "path": "variants.attributes",
                    "query": {
                      "terms": {
                        "variants.attributes.id": [
                          2627
                        ]
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }

---