Solved it (or at least, diagnosed it):
- Virtuemart apparently logs the user in on clicking 'register', even is account activation is required.
- When the activation link is clicked and the user is still logged in, com_users assumes he must be activated and therefore redirects to the homepage without activating.
Possible solution for the above: virtuemart shouldn't log in a non-activated user.
- If I log out, then click the activation link, I get the following error message: 'Warning: Registration failed: Verification code not found'
This is caused by the 'lastvisitDate' for the corresponding user in the _users table not being null, again due to virtuemart logging in a non-activated user. (a query in com_users/models/registration.php line 47 fails)
So basically: virtuemart should not log in a non-activated user, it causes issues

Imma gonna find me a virtuemart bugtracker to bug this.