Is using strings as keys for reference to other tables bad in terms of memory usage?
Yes MySql and all other rdms will store the complete email as varchar and reserve space for the number of bytes it needs or the maximal size depending on the rdms.
Integer with up to 8 bytes for a big integer will only use these bytes, and are so faster when referencing.
In terms of speed you use  INTEGER, and consider other like varchar(36) for uuids when the need arises, for example different servers have to save data in the same table.
with emails a unique and so be indexed for referencing, you should take the extra mile and use Integer if you expect you will have big tables.