Revealing mistake: When Hook tries to rip Zelena's heart out, as a blast of magic hurls him into the wall, you can see that the one who actually hits the wall is Colin O'Donughue's stunt double.
Revealing mistake: As Hook is chasing King Arthur through the woods, there is a shot of Arthur running, where you can see that the one running is not Liam Garrigan, but his stunt double. In the next shot, Hook is hot on Arthur's heels and you can see that it is Colin O'Donughue's stunt double who is chasing him.
Revealing mistake: When Hook and Mr. Gold are dueling aboard The Jolly Roger, in several shots, you can see that the ones fighting are not Colin O'Donogue and Robert Carlyle, but their stunt doubles. (00:28:25)
Answer: He knows who she is because he knows that the fairy tales are true. He was also shown to sneak out to go see Emma or someone else. Sometimes he succeeded, sometimes he didn't. This is how he knew to look for her despite his strict mother.