Let $\Omega\subset\mathbb{R}^n$ be a bounded open set, let $$ C^1_0(\overline\Omega) = \{u\in C^1(\Omega)\cap C(\overline\Omega):u|_{\partial\Omega}=0\}, $$ and let $C^1_c(\Omega)$ be the space of compactly supported $C^1$ functions in $\Omega$. We usually define $H^1_0(\Omega)$ as the completion of $C^1_c(\Omega)$ with respect to the $H^1$-norm. I want to define a new space, say $H^1_*(\Omega)$, as the completion of $C^1_0(\overline\Omega)\cap H^1(\Omega)$ with respect to the $H^1$-norm. My question is, are these spaces the same? In other words, can any element of $C^1_0(\overline\Omega)\cap H^1(\Omega)$ be approximated with arbitrary accuracy by compactly supported smooth functions in the $H^1$-norm?
I can prove this under some assumptions on the boundary of $\Omega$, but the question is what happens if $\Omega$ is an arbitrary open set. The motivation for this question is that for solving boundary value problems with homogeneous Dirichlet conditions, it seems that the space $H^1_*$ is more natural, at least pedagogically. The introduction of $H^1_0$ in a first lecture on Dirichlet problem appears "from nowhere" because it is not clear to the student why for instance, we have to take the completion of $C^1_c$, which consists of functions with not only the values, but also the derivatives vanishing near the boundary. I thought it would be good to introduce $H^1_*$ first, and then later prove that it would have made no difference if we used $C^1_c$ or $C^\infty_c$ in the definition. However, I am stuck at proving this equivalence for general domains.