**Apache Airflow version**: 2.1.0

**What happened**:

Using a Label infront of a TaskGroup breaks task dependencies, as tasks before the TaskGroup will now point to the last task in the TaskGroup.

**What you expected to happen**:

Task dependencies with or without Labels should be the same (and preferably the Label should be visible outside of the TaskGroup).
Behavior without a Label is as follows:

```python
with TaskGroup("tg1", tooltip="Tasks related to task group") as tg1:
        DummyOperator(task_id="b") >> DummyOperator(task_id="c")

DummyOperator(task_id="a") >> tg1
```
![without Taskgroup](https://user-images.githubusercontent.com/35238779/128502690-58b31577-91d7-4b5c-b348-4779c9286958.png)

**How to reproduce it**:

```python
with TaskGroup("tg1", tooltip="Tasks related to task group") as tg1:
        DummyOperator(task_id="b") >> DummyOperator(task_id="c")

    DummyOperator(task_id="a") >> Label("testlabel") >> tg1
```
![with TaskGroup](https://user-images.githubusercontent.com/35238779/128502758-5252b7e7-7c30-424a-ac3a-3f9a99b0a805.png)


dag = dags.pop()
        else:
            raise AirflowException(
                f"Tried to create relationships between tasks that don't have DAGs yet. "
                f"Set the DAG for at least one task and try again: {[self, *task_list]}"
            )
        if not self.has_dag():
            
            self.dag = dag
        def add_only_new(obj, item_set: set[str], item: str) -> None:
            """Adds only new items to item set"""
            if item in item_set:
                self.log.warning("Dependency %s, %s already registered for DAG: %s", obj, item, dag.dag_id)
            else:
                item_set.add(item)
        for task in task_list:
            if dag and not task.has_dag():
                
                dag.add_task(task)
            if upstream:
                add_only_new(task, task.downstream_task_ids, self.node_id)
                add_only_new(self, self.upstream_task_ids, task.node_id)
                if edge_modifier:
                    edge_modifier.add_edge_info(self.dag, task.node_id, self.node_id)
            else:
                add_only_new(self, self.downstream_task_ids, task.node_id)
                add_only_new(task, task.upstream_task_ids, self.node_id)
                if edge_modifier:
                    edge_modifier.add_edge_info(self.dag, self.node_id, task.node_id)
    def set_downstream(