### Apache Airflow version

main (development)

### Operating System

macOS 11.5.2

### Versions of Apache Airflow Providers

_No response_

### Deployment

Virtualenv installation

### Deployment details

_No response_

### What happened

If your first try fails and you have retries enabled, the subsequent tries skip right to the final `next_method(**next_kwargs)` instead of starting with `execute` again.

### What you expected to happen

Like we reset things like start date, we should wipe `next_method` and `next_kwargs` so we can retry the task from the beginning.

### How to reproduce

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [X] 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)

airflow/models/taskinstance.py
return {
            'conf': conf,
            'dag': dag,
            'dag_run': dag_run,
            'data_interval_end': timezone.coerce_datetime(dag_run.data_interval_end),
            'data_interval_start': timezone.coerce_datetime(dag_run.data_interval_start),
            'ds': ds,
            'ds_nodash': ds_nodash,
            'execution_date': deprecated_proxy(
                lambda: timezone.coerce_datetime(self.execution_date),
                key='execution_date',
                replacement='data_interval_start',
            ),
            'inlets': task.inlets,
            'macros': macros,
            'next_ds': deprecated_proxy(get_next_ds, key="next_ds", replacement="data_interval_end | ds"),
            'next_ds_nodash': deprecated_proxy(
                get_next_ds_nodash,
                key="next_ds_nodash",
                replacement="data_interval_end | ds_nodash",
            ),
            'next_execution_date': deprecated_proxy(
                get_next_execution_date,
                key='next_execution_date',
                replacement='data_interval_end',
            ),
            'outlets': task.outlets,
            'params': params,
            'prev_data_interval_start_success': lazy_object_proxy.Proxy(get_prev_data_interval_start_success),
            'prev_data_interval_end_success': lazy_object_proxy.Proxy(get_prev_data_interval_end_success),