### Body

Currently when you use multiple-outputs in decorator and it gets None value, it crashes.

As explained in https://github.com/apache/airflow/issues/32553 and workaround for ShortCircuitOperator has been implemented here:  https://github.com/apache/airflow/pull/32569 

But a more complete fix for multiple-outputs handling None is needed. 

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
return x
        assert identity_notyping(5).operator.multiple_outputs is False
        
        @task_decorator()
        def identity_tuple_with_decorator_call(x: int, y: int) -> Tuple[int, int]:
            return x, y
        assert identity_tuple_with_decorator_call(5, 5).operator.multiple_outputs is False
        @task_decorator()
        def identity_int_with_decorator_call(x: int) -> int:
            return x
        assert identity_int_with_decorator_call(5).operator.multiple_outputs is False
        @task_decorator()
        def identity_notyping_with_decorator_call(x: int):
            return x
        assert identity_notyping_with_decorator_call(5).operator.multiple_outputs is False
    def test_manual_multiple_outputs_false_with_typings(self):
        @task_decorator(multiple_outputs=False)
        def identity2(x: int, y: int) -> Tuple[int, int]:
            return x, y
        with self.dag:
            res = identity2(8, 4)
        dr = self.create_dag_run()
        res.operator.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE)
        ti = dr.get_task_instances()[0]
        assert res.operator.multiple_outputs is False
        assert ti.xcom_pull() == (8, 4)
        assert ti.xcom_pull(key="return_value_0") is None
        assert ti.xcom_pull(key="return_value_1") is None
    def test_multiple_outputs_ignore_typing(self):