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


self,
        group_id: str | None,
        prefix_group_id: bool = True,
        parent_group: TaskGroup | None = None,
        dag: DAG | None = None,
        default_args: dict[str, Any] | None = None,
        tooltip: str = "",
        ui_color: str = "CornflowerBlue",
        ui_fgcolor: str = "#000",
        add_suffix_on_collision: bool = False,
    ):
        from airflow.models.dag import DagContext
        self.prefix_group_id = prefix_group_id
        self.default_args = copy.deepcopy(default_args or {})
        dag = dag or DagContext.get_current_dag()
        if group_id is None:
            
            if parent_group:
                raise AirflowException("Root TaskGroup cannot have parent_group")
            
            
            self.used_group_ids = set()
            self.dag = dag