Another proof

1) Suppose $X$ is an $n$-dimensional $K$-vectorspace and $T:\DeclareMathOperator\End{End}\End(X) \to \End(X)$ preserves the determinant. Let $\{x_j\}_{1\leq j \leq n}$ be a basis of $X$ and $\{x_j^*\}_{1\leq j \leq n}$ its dual basis.

2) $T$ is injective and preserves rank. For rank 1 matrices, one of the implications is that
$$\forall j \in \{1,\ldots,n\}:T(x_1x_j^*) = y_1 \varphi_j^* \text{ and }T(x_jx_1^*)=y_j\varphi_1^*,\\
\text{or},
\forall j \in \{1,\ldots,n\}:T(x_1x_j^*) = y_j \varphi_1^*\text{ and }T(x_jx_1^*)=y_1\varphi_j^* \qquad(1)$$
where $\{y_j\}_{1\leq j \leq n}$ is a basis of $X$ ($\{y_j^*\}_j$ the corresponding dual basis) and $\{\varphi_j^*\}_{1\leq j \leq n}$ is a basis of $X^*$ ($\{\varphi_j\}_j$ the corresponding dual basis, keeping $X^{**}\simeq X$ in mind). We can restrict ourselves to the former scenario outlined in (1) by replacing $T$ in the latter scenario with $T\circ t$, where $t$ is a "coordinate-transpose", i.e. $t(x_jx_k^*):=x_kx_j^*$ and $t$ linear. If we then define the invertible matrices $U_1=\sum_{j=1}^n x_j y_j^*,\,V_1=\sum_{j=1}^n \varphi_jx_j^*$, then $T_1(.):=U_1T(.)V_1$ fixes both $\{x_1x_j^*\}_j$ and $\{x_jx_1^*\}_j$, i.e. $T_1$ fixes matrices whose non-zero entries occur only in the 1st row and/or first column. (Note that $T_1$ multiplies the determinant of its input by an uncertain factor $\det(U_1 V_1)\neq 0$, but later on the proof will indirectly show that this factor must be 1 anyway)

3) $T_1$ maps rank 1 matrices to rank 1 matrices. At this stage, this implies that $\forall j,k \in \{2,\ldots,n\}:\,\exists a_{jk}\in \mathbb{C}:\,T_1(x_jx_k^*)=a_{jk}x_jx_k^*$ (test $T_1$ on $(x_1+x_j)x_k^*$ and on $x_j(x_1^*+x_k^*)$ to arrive at this conclusion), i.e. $T_1$ performs a 'pointwise' multiplication on the matrix entries of its input (viewed in the $\{x_j\}_j$-basis). To see that the $a$-coefficients all have to be equal to 1, test $T_1$ once more on the rank 1 matrix $(x_1+x_j)(x_1^*+x_k^*)$. So we conclude that $T_1$ is the identity map on $\End{X}$ and retracing our steps, we see that $T(.)\equiv U_1^{-1}(.)V_1^{-1}$ or $T(.)\equiv U_1^{-1}(t(.))V_1^{-1}$.