Assume there is some binary sensor (source sensor from some integration) which changes “on” ↔ “off” sometimes.
We created a template sensor (not trigger-based):
state: >-
{% set result = "off" -%}
{%- if is_state("binary_sensor.smoke_1","on") -%}
{%- set result = "on" -%}
{%- endif -%}
{{ result }}
To add the created sensor, we do “Reload templates”.
What happens to the template sensor after creation?
According to your logics: since the source sensor has not changed right after creation → the template sensor = “unknown”.
This does not seem correct.
What is a difference with a “trigger-based” template then? In case of “trigger-based” - the template sensor will be “unknown” untill the source sensor changes, then the template sensor is triggered and changes accordingly.