Input_number weird rounding in automations

I have an action:

service: timer.start
data:
  duration: "{{ states('input_number.laundry_dryer_minutes')|int * 60 }}"
target:
  entity_id: timer.laundry_dryer_timer

When I enter 5 minutes, this results in the timer starting at 5:30.

Subtracting 30 like this

  duration: "{{ states('input_number.laundry_dryer_minutes')|int * 60 - 30 }}"

results in the timer starting at 4:30.

and subtracting 1 seems to result in the desired behaviour.
What is going on?

That doesn’t say much. The timer has only a duration, not a “start time”.
At what time is that timer started?

Yes, duration in seconds.
I am using a helper “input_number” so I can enter minutes. In my example I use 5 (minutes).
5 * 60 = 300 but the timer is being started at 330. Trying to fix this I subtracted 30 and the timer is being started at 270.

Not sure if this a language issue, but what I meant is that there is no relation between the duration of the timer and the time at which it is started.

Think a timer on your phone: You set the timer to 5min or whatever, but that doesn’t tell you anything about the time at which the timer will start: it will start at whatever time you press the start button (actually calling the timer.start service in HA), at will end 5min later with an alarm (a timer.finished event in HA)