Why can't I insert an email on a table that has one more dot than an existing one?
rdms usually don't make mistakes
So run a query
SELECT * FROM users WHERE lower(email::text) = 'fake.email@domain.com' 

and see where it gets you a result, with upper letters