### Body

We have several tests marked in the code base with `@pytest.mark.quarantined`
It means that the tests are flaky and if fail in CI it does not fail the build.
The goal is to fix the tests and make them stable.

This task is to gather all of them under the same issue instead of dedicated issue per test.

- [x] [TestImpersonation](https://github.com/apache/airflow/blob/bfcae349b88fd959e32bfacd027a5be976fe2132/tests/core/test_impersonation_tests.py#L117)
- [x] [TestImpersonationWithCustomPythonPath](https://github.com/apache/airflow/blob/bfcae349b88fd959e32bfacd027a5be976fe2132/tests/core/test_impersonation_tests.py#L181)
- [x] [test_exception_propagation](https://github.com/apache/airflow/blob/76f81cd4a7433b7eeddb863b2ae6ee59176cf816/tests/jobs/test_local_task_job.py#L772)
- [x] [test_localtaskjob_maintain_heart_rate](https://github.com/apache/airflow/blob/76f81cd4a7433b7eeddb863b2ae6ee59176cf816/tests/jobs/test_local_task_job.py#L402)
- [x] [test_exception_propagation](https://github.com/apache/airflow/blob/4d0fd8ef6adc35f683c7561f05688a65fd7451f4/tests/executors/test_celery_executor.py#L103)
- [x] [test_process_sigterm_works_with_retries](https://github.com/apache/airflow/blob/65010fda091242870a410c65478eae362899763b/tests/jobs/test_local_task_job.py#L770)


### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
job1.heartbeat_callback()
        job1.task_runner.process.pid = 1
        
        psutil_mock.Process.return_value.ppid.return_value = 1
        ti.state = State.RUNNING
        ti.pid = 2
        
        
        assert ti.run_as_user
        session.merge(ti)
        session.commit()
        job1.heartbeat_callback(session=None)
        
        
        job1.task_runner.process.pid = 2
        with pytest.raises(AirflowException, match="PID of job runner does not match"):
            job1.heartbeat_callback()
        
        
        ti.pid = None
        session.merge(ti)
        session.commit()
        assert ti.run_as_user
        assert job1.task_runner.run_as_user == ti.run_as_user
        assert ti.pid != job1.task_runner.process.pid
        job1.heartbeat_callback()
    @conf_vars({("core", "default_impersonation"): "testuser"})
    @mock.patch("subprocess.check_call")
    @mock.patch("airflow.jobs.local_task_job.psutil")
    def test_localtaskjob_heartbeat_with_default_impersonation(self, psutil_mock, _, dag_maker):