I propose we call them fanciful numbers.
The fact that it’s a “quaternion” or a “rotor” is kind of an implementation detail.
Of these four terms, Quaternion is the most precisely correct. The reason is that rotors are, by definition, constrained. Quaternions can take any value. Due to floating-point precision problems, your rotor will not always be exactly a rotor, but may some multivector which is not a rotor.
This is kind of like representing a point on a sphere using (x,y,z) coordinates. You can call it PointOnSphere or Vector. I would rather call it Vector, because PointOnSphere implies a constraint which won’t be exactly satisfied, and I want to be reminded of that fact. The type name (Vector here, and Quaternion above) represents the object’s structure and the constraints which are actually enforced by the underlying representation.
BTW, it's easy to understand the relations between i,j,k if you're familiar with Pauli matrices.
I just dabbled in webgl/threejs and tried creating a small movement engine and was confused from beginning to end. Quaternions as a black box is pretty accurate.