terms_description and admin problem

There is nothing in term_description() and deeper (that I see) that checks for user.

You can try this and see if it returns WP_Error that might make term_description() return empty string:

get_term_field( 'description', $term, $taxonomy )