Your thinking is OK and it can be developed into a complete proof.
Suppose there are disjoint open sets $U, V$ such that $A \subset U$ and $B \subset V$. For each $x\in A$, let $C_x$ be an open cube such that $x\in C_x$ and $\overline{C_x}\subseteq U$. We have that $\{C_x \,|\, x\in A\}$ is open cover of $A$. Since $\mathbb{R}^n$ is separable, there is a countable sub-cover $\{C_{x_n} \,|\, x_n\in A, n\in \mathbb{N} \}$. Note that
$$A\subseteq \bigcup_{n\in \mathbb{N}} C_{x_n} \subseteq \bigcup_{n\in \mathbb{N}}\overline{ C_{x_n}} \subseteq U$$
In a similar way, we can find a countable family $\{D_{y_n} \,|\, y_n\in B, n\in \mathbb{N} \}$ of open cubes such that
$$B\subseteq \bigcup_{n\in \mathbb{N}} D_{y_n} \subseteq \bigcup_{n\in \mathbb{N}}\overline{ D_{y_n}} \subseteq V$$
Since $U$ e $V$ are disjoint, we can easily use $\{C_{x_n} \,|\, x_n\in A, n\in \mathbb{N} \}$ and $\{D_{y_n} \,|\, y_n\in B, n\in \mathbb{N} \}$ (or, if you prefer, $\{\overline {C_{x_n}} \,|\, x_n\in A, n\in \mathbb{N} \}$ and $\{\overline{D_{y_n}} \,|\, y_n\in B, n\in \mathbb{N} \}$) to prove that
$$m^*(A\cup B) = m^*(A) + m^*(B)$$
In fact, let us show the details.
From subadditivity, we know that $m^*(A\cup B) \leq m^*(A) + m^*(B)$. we just need to show $m^*(A\cup B) \geq m^*(A) + m^*(B)$.
If $m^*(A\cup B) =+\infty$ then it is clear that $m^*(A\cup B) \geq m^*(A) + m^*(B)$.
Suppose $m^*(A\cup B) <+\infty$. For any $\epsilon>0$, there is a countable collection of cubes $\{Q_j\}_{j\in\mathbb{N}}$, such that $A\cup B\subseteq \bigcup_{j=0}^{\infty} Q_j$ and
$$\sum_{i=0}^{\infty} m(Q_j) < m^*(A\cup B) + \epsilon \tag{1}$$
Since the family of cubes in $\mathbb{R}^n$ is a semi-ring, then from $\{C_{x_n} \,|\, x_n\in A, n\in \mathbb{N} \}$, we can have $\{E_k \,|\, k\in \mathbb{N} \}$ a collection of disjoint cubes, such that $A\subseteq \bigcup_{n\in \mathbb{N}} C_{x_n}=\sum_{k\in \mathbb{N}} E_k$. And from $\{D_{y_n} \,|\, y_n\in B, n\in \mathbb{N} \}$, we can have $\{F_l \,|\, l\in \mathbb{N} \}$ a collection of disjoint cubes, such that $B\subseteq \bigcup_{n\in \mathbb{N}} D_{y_n}=\sum_{l\in \mathbb{N}} F_l$. Note that, for all $k,l \in \mathbb{N}$, $E_k\subseteq U$ e $F_l\subseteq V$, so $E_k \cap F_l=\emptyset$.
Now, we have
$A\subseteq \sum_{j,k=0}^\infty(Q_j\cap E_k)$
and
$$m^*(A)\leq \sum_{j,k=0}^\infty m(Q_j\cap E_k) \tag{2}$$
(remember that the inersection of two cubes is a cube).
And we also have
$B\subseteq \sum_{j,l=0}^\infty(Q_j\cap F_l)$
and
$$m^*(B)\leq \sum_{j,l=0}^\infty m(Q_j\cap F_l) \tag{3} $$
Combining $(1)$, $(2)$ and $(3)$, we have
$$m^*(A)+m^*(B)\leq \sum_{j,k=0}^\infty m(Q_j\cap E_k)+ \sum_{j,l=0}^\infty m(Q_j\cap F_l)\leq\sum_{i=0}^{\infty} m(Q_j) < m^*(A\cup B) + \epsilon$$ Since this is valid for an arbitrary $\epsilon>0$, we have
$$m^*(A)+m^*(B)\leq m^*(A\cup B)$$
Remark: IF you already know that, for all $A$ subset of $\mathbb{R}^n$, we have
$$m^{\star}(A)= \inf_{U \textrm{ open } \supset A} m(U)$$
THEN there are much shorter and elegant proofs (see, for instance, orangeskid's answer).