### Apache Airflow version

2.2.0 (latest released)

### Operating System

Ubuntu

### Versions of Apache Airflow Providers

_No response_

### Deployment

Docker-Compose

### Deployment details

_No response_

### What happened

Tried to use this this code:
`some_variable='{{macros.ds_format(macros.ds_add(next_ds, '
                 '(ti.start_date - ti.execution_date).days), '
                 '"%Y-%m-%d", "%Y-%m-%d 21:00:00")}}')`
but got this error:
`strptime() argument 1 must be str, not Proxy`
because the `next_ds` variable changed to proxy.

### What you expected to happen

_No response_

### How to reproduce

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] 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/macros/__init__.py
"""
    Takes an input string and outputs another string
    as specified in the output format
    :param ds: input string which contains a date
    :type ds: str
    :param input_format: input string format. E.g. %Y-%m-%d
    :type input_format: str
    :param output_format: output string format  E.g. %Y-%m-%d
    :type output_format: str
    >>> ds_format('2015-01-01', "%Y-%m-%d", "%m-%d-%y")
    '01-01-15'
    >>> ds_format('1/5/2015', "%m/%d/%Y",  "%Y-%m-%d")
    '2015-01-05'
    """
    return datetime.strptime(ds, input_format).strftime(output_format)
def datetime_diff_for_humans(dt, since=None):
    """
    Return a human-readable/approximate difference between two datetimes, or
    one and now.
    :param dt: The datetime to display the diff for
    :type dt: datetime.datetime
    :param since: When to display the date from. If ``None`` then the diff is
        between ``dt`` and now.
    :type since: None or datetime.datetime
    :rtype: str
    """
    import pendulum
    return pendulum.instance(dt).diff_for_humans(since)