Thank you for your tips
you could try using the "FixedUpdate" component and adding your FSM.
Tried this, but it doesn't seem to make any difference

Alternatively you could also try limiting the frame rate of the game with the custom actions from the ecosystem.
TargetFrameRate(lets say 60)
SetVSyncCount(0)
Yes, I'm already doing this in fact, but I was looking for a more robust solution in case the game doesn't run at 60 FPS on lower spec computers. I'm also experiencing discrepancies between the Unity editor and builds, which makes things more difficult when it comes to work on the game balance directly from the editor.
Are you sure you absolutely need a constant amount of time across systems?
Yes, I'd like to have a consistent experience in any computer, that float specifies for how long the player can run (the player can pick items which restore the stamina while they're running), the longer the player runs without run out of stamina the more points the player receive, so if the time that an specific amount of stamina is not consistent it would be unfair for some players.
I think that the main problem is to use small time amounts, I'm using 0.05 to subtract 1 stamina unit which makes sense gameplay wise, I've tried 1s. to subtract 20 stamina units and it works consistently in different framerates, but such amount of time doesn't make sense gameplay wise.