If $f$ is uniformly continuous on two open sets with a non-empty intersection, then $f$ is uniformly continuous on their union
Suppose $x \in (a,b)$ and $y\in (c,d).$ Then $x<b$ which gives $-x>-b$ and $y>c.$ So $|x-y|=y-x>c-b.$ Hence taking $\delta\leq c-b$ guarantees that both $x,y$ are in the same interval.
The reason you can't have both in different intervals is that to apply the two implications you have, you need both have them to be in the same interval. If $x \in (a,b)$ and $y \in (c,d),$ then there is no condition that guarantees $|f(x)-f(y)|<\epsilon.$
Your proof is not correct because you can have $x \in (a,b)$ and $y \in (c,d)$ with $|x-y| <\delta$. This cannot happen if you make $\delta <c-b$. ( Indeed $x \in (a,b), y \in (c,d)$ implies $y-x >c-b$ because $y>c$ and $x <b$).