In 1D DCT, why is the input a vector?
I do find this chapter quite well-written. The row or the column visions of a vector are mostly matters of convention and convenience. One or the other is perfectly fine.   In signal processing, when using algebra, the column version (a vertical vector) is used quite often. If you multiply a col-vector $x$ by matrix $A$, you get a col-vector $y$:

$$ y = Ax$$

You can get the row-vector version by transposing:

$$ y' = x'A'$$

If you decide to work with row-vectors, you could as well work with $v=uB$, but the matrix on the left seems more easy to read (at least with western languages).

When you deal with an image or image block $X$, you can apply a transform on both the columns, at $Y_1=AX$. $Y_1$ is a matrix whose columns are the transformation of each column of $X$. Then, you can work on the rows of $Y_1$, by applying the formula  $Y_1 A'$: every row is now affect.ed by the transform. The final result is thus $(AX)A'$, or $A((AX')') = A(XA')$