Terms are a syntactic concept while Values are a semantic runtime concept. The key to understanding is that Values are Terms which have been reduced (i.e. evaluated) to normal form and hence cannot be reduced further. The nuance lies in the fact that while both unreduced Terms and reduced Values can have semantic meanings, only at the Value stage is it canonical and fully computed.
In fact the "Calculus of Constructions" (CoC) derived from Typed Lambda Calculus unifies everything into a Term like so;
Term ::= variable | lambda abstraction | lambda application | dependant product | sorts (type of types)
For reference see Brandl's work that i list here - https://news.ycombinator.com/item?id=50028902
But "term" is not a term that is restricted to computation. In normal mathematical usage, all values are always 'fully computed'. You may not personally know what they are, but that doesn't matter. These are just different names that we give to a single object.
True. But even in Mathematical Logic, a Term is a syntactical construct. You need to apply a "interpretation function" (mapping to a specific domain) to get a Value.
In Computation this is just made explicit and clear using a "eval function".