Can someone please verify my proof or offer suggestions for improvement?
Some preliminaries:
Let $A$ and $B$ be two posets. $A \times B$ is the poset on the cartesian product of $A$ and $B$ such that $(a, b) \leq_{A \times B} (a', b') \iff a \leq_A a'$ and $b \leq_B b'$.
Let $L$ and $L'$ be lattices. Prove that $L \times L'$ is also a lattice.
Let $(x, x'), (y, y') \in L \times L'$. Set $$s = x \vee y$$ and $$s' = x' \vee y'$$
Then, $$(s, s') \geq_{L \times L'} (x, x')$$ $$(s, s') \geq_{L \times L'} (y, y')$$
So, there exists an upper bound for every two elements of $L \times L'$. Now, we show that $(s, s')$ is a least upper bound for $(x, x'), (y, y')$.
Let $(t, t') <_{L \times L'} (s, s')$. Then, either $t <_{L \times L'} s$, in which case $t <_L x$ $$(t, t') <_{L'} (x, x')$$ or $t' < s'$, in which case $$(t, t') <_{L \times L'} (y, y')$$
In either case, $(t, t')$ is not an upper bound for $(x, x'), (y, y')$. So, $(s, s')$ is the least upper bound of $(x, x'), (y, y')$. Similarly, for every two elements in $L \times L'$, there exists a greatest lower bound. Hence, $L \times L'$ is a lattice.
I think you confuse the notions of a minimal element and the least element of a poset.
Let $\langle P, \leqslant \rangle$ be a poset and $S \subseteq P$.
The main difference is that the least element of a poset is comparable with any element of this poset, while the minimal element is not in general. Note also that if $x$ is the least element than it is minimal. Converse is not true.
For example, consider two-element antichain (i.e. a poset where any two elements are incomparable) $P = \{a, b\}$. So both $a$ and $b$ are minimal by definition above, but none of them is the least, since they are incomparable. In terms of Hasse diagrams: going up the edges from the least element you can reach any other element of your poset, while this is not true for minimal elements in general (draw the diagram for the example above and try to reach $b$ from $a$ and vice versa).
Let $U \subseteq L \times L'$ denote the set of all upper bounds of $(x, x')$ and $(y, y')$. In order to show that $(s, s') \in U$ is the least upper bound you should show that it is the least element of $U$. You have already shown that $(s, s') \in U$. Now take any $(t, t') \in U$. We know (from the definition of product poset) that $x \leqslant_{L} t, y \leqslant_{L} t$, but that means that $x \vee y = s \leqslant_{L} t$, same argument shows that $x' \vee y' = s' \leqslant_{L'} t'$, so again by definition we have $(s, s') \leqslant_{L \times L'} (t, t')$.
What you have proved using contradiction is that there is no element in $U$ which is strictly less that $(s, s')$, which means that $(s, s')$ is minimal element of $U$, but that is insufficient to show that $(s, s')$ is the least element of $U$.