Your direct approach looks good, and may well be the easiest approach for this particular problem. The alternative approach, which generalizes better and is used below is Inclusion-Exclusion.
See this article for an
introduction to Inclusion-Exclusion.
Then, see this answer for an explanation of and justification for the Inclusion-Exclusion formula.
It is harmless to zero fill the numbers, since neither of the digits being interrogated, $(1)$'s and $(4)$'s are $(0)$'s. Further, you can harmlessly include the number $(0000)$, as the first number under investigation. Therefore, you are examining all $[(10)^4]$ 4 digit numbers.
Let $S$ denote the enumeration of all $(1)$'s, among the 4 digit numbers, where the prohibition against the digit $(4)$ is ignored. Clearly, enumerating column my column, since each column will have exactly $(1/10)$ of its digits be a $(1)$, the enumeration here is
$$T_0 = \frac{4 \times [(10)^4]}{10} = 4000. \tag1 $$
For $k \in \{1,2,3,4\}$ let $S_k$ denote the portion of the $4000$ occurrences of the digit $(1)$ that occur when the $4$ digit number has a $(4)$ in the $k$-th digit place, reading from left to right.
Then, the desired enumeration will be
$$T_0 - ~\text{the corresponding enumeration from} ~|S_1 \cup S_2 \cup S_3 \cup S_4|.$$
For $r \in \{1,2,3,4\}$ let $T_r$ denote the enumeration of the $(1)$'s in the $~\displaystyle \binom{4}{r}$ terms represented by the summation of
$$\sum_{1 \leq i_1 < \cdots < i_r \leq 4} |S_{i_1} \cap \cdots \cap S_{i_r}|.$$
Then, in accordance with Inclusion-Exclusion, the desired enumeration will be
$$\sum_{r=0}^4 (-1)^r T_r.$$
Actually, I haven't worded the above definitions very well. However, the details below will clarify my intent. Further, there will be many considerations of symmetry which will simplify the computations.
Under the assumption that the leftmost digit is $(4)$, with the other $(3)$ digits unconstrained, it is clear that there will be $1000$ numbers under consideration. At random, within these $(1000)$ numbers, the probability of a $(1)$ in each of the other $(3)$ columns is $(1/10)$.
So, focusing only on the $(1000)$ numbers that have a $(4)$ in the leftmost digit (i.e. focusing on the set $S_1$),
the number of occurrences of a $(1)$ in one of the other $(3)$ digits will be
$$3 \times \frac{1000}{10} = 300.$$
Further, by considerations of symmetry, you have the same enumeration for $S_2, S_3,$ and $S_4$. Therefore,
$$T_1 = 1200.$$
For $S_1 \cap S_2$, you have $2$ columns unconstrained, the 3rd and the 4th column, reading left to right. Further, the same symmetry considerations prevail.
Examining (in effect) only $S_1 \cap S_2$, you are examining $(100)$ numbers. In these $(100)$ numbers, the number of occurrences of a $(1)$ in the 3rd digit, combined with the number of occurrences of a $(1)$ in the 4th digit will be
$$2 \times \frac{100}{10} = 20.$$
With the same considerations of symmetry in the computation of $T_2$ as was present in the computation of $T_1$, you have that
$$T_2 = \binom{4}{2} \times 20 = 120.$$
Similarly,
$$T_3 = \binom{4}{3} \times \frac{10}{10} = 4.$$
That is, $T_3$ is computed by consideration of the 4 numbers $4441, 4414, 4144, 1444.$
Clearly,
$$T_4 = 0,$$
by consideration of the number $4444.$
Therefore, the final computation is
$$4000 - 1200 + 120 - 4 + 0 = 2916.$$