Why does H+ attack alkene first in this reaction?
It's better to check the resonance hybrid whenever we have a confusion, so, in this case resonance takes place between lone pair of oxygen atom and the double bond and the electrons shift from oxygen towards the alkene. This creates a partial positive character on the oxygen atom and partial negative character on the alkene carbon which is farthest from the oxygen atom. Now we can easily decide that in between ether oxygen atom and alkene proton will tend to attack alkene carbon and that to on the carbon, which is farthest from the oxygen which results in the positive charge on the carbon next to ether oxygen (this cation is also stable because of octet completion due to resonance of oxygen (may also be called as backbonding)). Now deciding between hydroxy oxygen and alkene is a bit tougher task. Let us assume that proton attacked hydroxy oxygen and it formed oxonium ion, now it can be removed as water and a cation can be formed there. After formation of cation there is nothing to do and it will be waiting for the hydroxy component of water to get attacked by. But if the cation is formed at the alkene carbon it can go for rearrangement which increases the size of 4-membered ring to 5, which increases entropy of the system and also it will lead to formation of $\ce{C=O}$. That will tend the reaction to move forward (like pinacole pinacolone rearrangement). So,it's better to form cation at alkene site rather than forming oxonium ions.

Following is an arrow-pushing diagram of the above description: