A vector quantity, $\vec V,$ can be written as $$\vec V=|\vec V|\ \hat V$$in which $|\vec V|$ is the magnitude of the vector, a scalar quantity which is non-negative. $\hat V$ is the unit vector in the same direction as $\vec V.$
The convention is that $|\vec V|$ is the product of a number and a unit, while $\hat V$ has no unit.
A different sort of scalar arises when we express $\vec V$ as the sum of components, say in the x, y and z directions. Using $\hat i,$ $\hat j$ and $\hat k$ for the unit vectors we can write$$\vec V=V_x \hat i + V_y \hat j+V_z \hat k$$
The scalar coefficients $V_{x},\ V_{y},\ V_z$ can be negative, zero or positive.
"I've never heard that scalar quantities have magnitude only." It is, in fact, quite a common statement in elementary textbooks. Temperature might well be given in such a book as example of a scalar. As you say, (celsius) temperature can be negative, so, clearly, 'magnitude' in this context means real number $\times$ unit, so isn't quite like the magnitude of a vector.
I suspect that temperature wouldn't be given as an example of a scalar in more advanced books, because geometry is not involved in its definition. But this is rather a subtle point.