### Apache Airflow version

main (development)

### What happened

Task failing with error "missing upstream values" when running a dag with dynamic task group mapping
error -
```
[2022-11-23, 15:50:07 UTC] {abstractoperator.py:456} ERROR - Cannot expand <Task(_PythonDecoratedOperator): increment_and_verify.hello_there> for run manual__2022-11-23T15:49:59.771915+00:00; missing upstream values: ['x']
```

### What you think should happen instead

It should succeed 

### How to reproduce

Run the below dag code 
```
from airflow import DAG
from airflow.models.taskinstance import TaskInstance
from airflow.operators.dummy import DummyOperator
from datetime import datetime, timedelta
from airflow.decorators import task, task_group
with DAG(
    dag_id="taskmap_taskgroup",
    tags=["AIP_42"],
    start_date=datetime(1970, 1, 1),
    schedule_interval=None,
) as dag:

    @task
    def onetwothree():
        return [1,2,3]

    @task
    def hello_there(arg):
        print(arg)

    @task_group
    def increment_and_verify(x):
        hello_there(x)

    increment_and_verify.expand(x=onetwothree())>>DummyOperator(task_id="done")
```

### Operating System

mac os

### Versions of Apache Airflow Providers

_No response_

### Deployment

Virtualenv installation

### Deployment details

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

for child in self.children.values():
            if isinstance(child, TaskGroup):
                yield from child
            else:
                yield child
    def add(self, task: DAGNode) -> None:
        """Add a task to this TaskGroup.
        :meta private:
        """
        from airflow.models.abstractoperator import AbstractOperator
        existing_tg = task.task_group
        if isinstance(task, AbstractOperator) and existing_tg is not None and existing_tg != self:
            raise TaskAlreadyInTaskGroup(task.node_id, existing_tg.node_id, self.node_id)
        
        task.task_group = weakref.proxy(self)
        key = task.node_id
        if key in self.children:
            node_type = "Task" if hasattr(task, "task_id") else "Task Group"
            raise DuplicateTaskIdFound(f"{node_type} id '{key}' has already been added to the DAG")
        if isinstance(task, TaskGroup):
            if self.dag:
                if task.dag is not None and self.dag is not task.dag:
                    raise RuntimeError(
                        "Cannot mix TaskGroups from different DAGs: %s and %s", self.dag, task.dag
                    )
                task.dag = self.dag
            if task.children:
                raise AirflowException("Cannot add a non-empty TaskGroup")
        self.children[key] = task
    def _remove(self, task: DAGNode) -> None: