It takes way too much effort to get a datetime object through jinja

I think the as_timestamp does what you want. see Templating

Example:

Next Dawn: {{ states.sun.sun.attributes.next_dawn }}
Timestamp Dawn: {{ as_timestamp(states.sun.sun.attributes.next_dawn) }}
Local Dawn: {{ as_timestamp(states.sun.sun.attributes.next_dawn) | timestamp_local }}

{% if as_timestamp(states.sun.sun.attributes.next_dawn) >= as_timestamp(now()) %}
Next dawn is in the future
{% else %}
Next dawn is in the past (which should be impossible!)
{% endif %}

Rendered:

Next Dawn: 2019-01-15T13:51:25+00:00
Timestamp Dawn: 1547560285.0
Local Dawn: 2019-01-15 06:51:25


Next dawn is in the future