### 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)

from airflow.models.expandinput import ExpandInput
    from airflow.utils.edgemodifier import EdgeModifier
class TaskGroup(DAGNode):
    """
    A collection of tasks. When set_downstream() or set_upstream() are called on the
    TaskGroup, it is applied across all tasks within the group if necessary.
    :param group_id: a unique, meaningful id for the TaskGroup. group_id must not conflict
        with group_id of TaskGroup or task_id of tasks in the DAG. Root TaskGroup has group_id
        set to None.
    :param prefix_group_id: If set to True, child task_id and group_id will be prefixed with
        this TaskGroup's group_id. If set to False, child task_id and group_id are not prefixed.
        Default is True.
    :param parent_group: The parent TaskGroup of this TaskGroup. parent_group is set to None
        for the root TaskGroup.
    :param dag: The DAG that this TaskGroup belongs to.
    :param default_args: A dictionary of default parameters to be used
        as constructor keyword parameters when initialising operators,
        will override default_args defined in the DAG level.
        Note that operators have the same hook, and precede those defined
        here, meaning that if your dict contains `'depends_on_past': True`
        here and `'depends_on_past': False` in the operator's call
        `default_args`, the actual value will be `False`.
    :param tooltip: The tooltip of the TaskGroup node when displayed in the UI
    :param ui_color: The fill color of the TaskGroup node when displayed in the UI
    :param ui_fgcolor: The label color of the TaskGroup node when displayed in the UI
    :param add_suffix_on_collision: If this task group name already exists,
        automatically add `__1` etc suffixes
    """
    used_group_ids: set[str | None]
    def __init__(