The entry should be in Connections prior to the user logging in. Otherwise, the user should use Link to add their entry. That’s the intended workflow.
What trips people up in testing is that links are check for only once and are persistent. Link will check once when the user logs in and if no match is found, that user is not checked for a match again no matter how often you change the email address in the user or Connections entry. The reason links are persistent is that users change email addresses and you don’t want a link to break because of an email address change. You also don’t want it easy to hijack the links.
With that said, I am working on an update that loosens the restriction slightly. The change is that during every logon if the user was not linked, it’ll search Connections for a match and if found then add a link. What this will allow is the entry for the user to be added at any time and they will be linked to the entry when they next login.
I hope that makes sense!
To test, do this:
Create a new entry with an email address.
Create a new user with the same email address.
Log out of WP.
Login as the new user.
Go to the Edit My Directory Entry admin page.
The user should now be linked to the Connections entry.
If it is not, are you using a membership type plugin? If you are, it is possible it is hijacking the login process before Link has the opportunity to run. If that is the case, I do have a fix I can apply to you site if you grant a temp admin account.
I hope that helps.