I’ve looked into it again and
wp_user_meta() is just a wrapper for
get_metadata() which caches its results.
I suspect you have made your user edits earlier in the exection of the request, then later in the execution you want to send this email.
You can bust the cache by putting this at the top of your email call:
update_meta_cache( 'user', $user_id );
Please accept my answer on SO too 🙂