Is this the correct behaviour?
Yes it is.
Consider the FIDE Rating Regulations -
1. Rate of Play
1.1 For a game to be rated each player must have the following minimum periods in which to complete all the moves, assuming the game lasts 60
moves. Where at least one of the players in the game has a rating 2200
or higher, each player must have a minimum of 120 minutes.
The standard time control used in the vast majority of FIDE rated competitions is game in 90 minutes with a 30 second increment starting from move 1.
Suppose the increment is added after the player presses the clock and he starts with 90 minutes. After 59 moves his clock will show -
90 minutes + 59x30 seconds - time taken to make 59 moves
= 119 minutes 30 seconds - time taken to make 59 moves
In other words he is going to have less than 120 minutes to make 60 moves because the 30 second increment doesn't get added until he has completed 60 moves. If he takes 119 minutes 31 seconds to make 60 moves then his flag will have fallen before he presses the clock and gets the increment.
Adding 30 seconds before the first move corrects this.