### Apache Airflow version

2.1.3 (latest released)

### Operating System

Debian Buster

### Versions of Apache Airflow Providers

_No response_

### Deployment

Managed Services (Astronomer, Composer, MWAA etc.)

### Deployment details

Running `quay.io/astronomer/ap-airflow:2.1.3-buster` Docker image

### What happened

In the task attributes view of a BashOperator, the `template_ext` row doesn't show any value, while I would expect to see `('.sh', '.bash')`.

![image](https://user-images.githubusercontent.com/6249654/131467817-8620f68d-0f3d-491d-ad38-cbf5b91cdcb3.png)


### What you expected to happen

Expect to see correct `template_ext` value

### How to reproduce

Run a BashOperator and browse to Instance Details --> scroll down to `template_ext` row

### Anything else

Spent a little time trying to figure out what could be the reason, but haven't found the problem yet. Therefore created issue to track.

### 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/serialization/serialized_objects.py
"""Encode a timetable instance.
    This delegates most of the serialization work to the type, so the behavior
    can be completely controlled by a custom subclass.
    """
    return {"type": as_importable_string(type(var)), "value": var.serialize()}
def decode_timetable(var: Dict[str, Any]) -> Timetable:
    """Decode a previously serialized timetable.
    Most of the deserialization logic is delegated to the actual type, which
    we import from string.
    """
    return import_string(var["type"]).deserialize(var["value"])
class BaseSerialization:
    """BaseSerialization provides utils for serialization."""
    
    _primitive_types = (int, bool, float, str)
    
    
    _datetime_types = (datetime.datetime,)
    
    _excluded_types = (logging.Logger, Connection, type)
    _json_schema: Optional[Validator] = None
    
    
    
    _load_operator_extra_links = True
    _CONSTRUCTOR_PARAMS: Dict[str, Parameter] = {}
    SERIALIZER_VERSION = 1
    @classmethod
    def to_json(cls, var: Union[DAG, BaseOperator, dict, list, set, tuple]) -> str: