'Am I right in thinking that the standard Login add-on only supports logging in by username as a unique account identifier and not the associated email address, so to accomplish that I will have to use the other LoginFields add-on?
I think that's correct. This might help you: http://forums.modx.com/index.php?topic=54632.0
, though I think it writes the email to the username field, which probably isn't what you want.
I don't see why you couldn't just use the Login pre-hook to see if there is a user with the given email address. If so, use the associated username to change the username field on the form (it could be a hidden field if you only want users logging in using their email address).
One caution: You could have more than one user with the same email address. You would (will) need to decide how to handle that.