Input_datetime before/after condition to check date

The GUI can quite easily create an automation condition to confirm if the time is before/after a datetime helper, even a datetime helper that is date only. So why does this only look at the time and not the date?!?

This fails:

  • condition: time
    after: input_datetime.mattress_rotate_due

but this works:

  • condition: template
    value_template: >-
    {{ states(‘input_datetime.mattress_rotate_due’) | as_datetime | as_local < now() }}

Why do we need to use a template for this?