Are type variables really only used in mathematical conversation about types?
I am not sure I understand your question, but I believe the answer is "yes".  When describing monomorphic languages, an expression such as

let id x = x : τ


(where τ is understood as a type meta-variable) does not mean that you can write τ in the program text.  Rather, it means an arbitrary expression of that shape, where the meta-variable is replaced by any type of the language:

let id x = x : int

let id x = x : string


etc.  The "meta" in "meta-variable" means that the "variable" in question is not part of the syntax of programs, but a device we use to talk about types abstractly -- or, as you put it, in "mathematical conversation about types."