To show $D_{1} \cap D_{2}$ is dense in $\mathbb{R}^{p}$, you can show it intersects every open subset of $\mathbb{R}^{p}$. That is one characterization of density.
So, let $O \subseteq \mathbb{R}^{p}$ be an arbitrary open set. Since $D_{1}$ is dense, $D_{1} \cap O \neq \emptyset$. Furthermore, $D_{1} \cap O$ is open, since both sets are open. So we know by the nonempty intersection $\exists x \in D_{1} \cap O$. Since the intersection is open, $\exists \epsilon_{x} > 0$ such that $B(x,\epsilon_{x}) \subseteq D_{1} \cap O$.
But $B(x, \epsilon_{x})$ is an open subset of $\mathbb{R}^{p}$, and thus since $D_{2}$ is dense, $D_{2} \cap B(x, \epsilon_{x}) \neq \emptyset$. But since this ball is contained in $O \cap D_{1}$, this implies $D_{2}$ intersects $O \cap D_{1}$. Written down, this says $D_{2} \cap (D_{1} \cap O) \neq \emptyset$.
Since set intersection is associative, this means $(D_{1} \cap D_{2}) \cap O \neq \emptyset$ for any arbitrary open set $O \subseteq \mathbb{R}^{p}$, which implies $D_{1}\cap D_{2}$ is dense by our characterization of density.
Here are a couple of bounded examples.
Let $U=\{(x,y):0<x<1, 0<y<x^2\}.$
Let $P=\{(x,y):1<x^2+y^2<2, 0<y\}.$
The proofs are similar, here is a proof for $P$.
Let $C=\{(x,y):1=x^2+y^2, 0\le y\}.$ If $V$ is
any convex open subset of $P$ then its closure
$K$ is a compact convex subset which intersects $C$
in at most one point. If $V_1,...,V_n$ are
finitely many convex open subset of $P$, then
their closures $K_1,...,K_n$ intersect $C$ in at most finitely many points, and hence there is some $(p,q)\in C\setminus \cup_{i=1}^n K_i.$
The set $K=\cup_{i=1}^n K_i$ is compact, hence
the distance from $(p,q)$ to $K$ is positive,
hence there are points $(x,y)$ near $(p,q)$ in
$P\setminus K$, so such $(x,y)$ are not covered
by any of the $V_1,...,V_n.$
Best Answer
If you want a result without groups or groupoids, here it is.
Let $\cal U$ be an open cover of a space $X$ with base point $x$ such that each set of $\cal U$ is simply connected and each set of $\cal U$ and intersection of two sets of $\cal U$ is path connected and contains $x$. Then $X$ is simply connected.
Proof. Let $a: I \to X $ be a loop in $X $ at the base point $x $. By the Lebesgue covering lemma, there is a subdivision $ a=a_1 + a_2+ \cdots +a_n $ of $a $ such that each $a_i $ lies in some set $U_i $ of $\cal U$. We consider $a_i$ as a map $I \to X$. Let $b_0, b_{n+1}$ be constant paths at the point $x$. By the assumptions, we can for $1 < i \leq n$ choose a path $b_i: I \to X$ joining $a_i(0)$ to $x$ and lying in $U_{i-1} \cap U_i$. The loop $-b_i + a_i+b_{i+1}$ lies in $U_i$ and so is contractible to a constant rel end points, by assumption of simple connectivity of $U_i$. It follows that $a$ is contractible to a point in $X$.
This argument can be usefully generalised to higher dimensions, in the context of filtered spaces.