You're not really going wrong anywhere..
If you make a platform on which the player stands and you move to the left or right, the player only starts falling if it is completely free from the platform, the same applies here. the player isn't colliding with the obstacle untill it is completely clear of the ground.
This is built in in the platform behaviour, so you will have to find a way around it to check if the player is colliding on the same level as the ground. (you could use a detection sprite for it, or maybe an imagepoint or overlapping with offset detection)