I would do it upon clicking. If they open the email, it doesn't mean they actually read it. More important, opens are not a really metric because if they don't "display images" then Marketo cannot see if they opened the email even if they did (Gmail is an exception due to the recent change).
Definitely depends on your specific goal. For example, your end goal might be for the recipient to click the link and then fill out the form on the following page.