I, personally, would calculate delta time at the beginning of the loop (but after events), just before adding to the accumulator where you have it. It seems to make sense to do it at the beginning and keep those timing things together. However, I can't see that it technically matters as dt will still changed each frame, which is its intention.
As long as I haven't missed some glaring error, I think this code looks fine
EDIT: I think it would be better to not hard code the fixed timestep here:
update_state.DeltaTime = 1.0f / 60.0f;
especially since you have already fixed this here:
Time updateRate = seconds(1.0f / 60.0f);
i.e.
update_state.DeltaTime = updateRate.asSeconds()