The answer is no. Indeed, let $C$ be any countable subset of $(0,1)$ which is dense in $[0,1]$. Write $C=\{c_1,c_2,\dots\}$, where the $c_n$'s are pairwise distinct. Let
$$U:=(0,1)\cap\bigcup_{n=1}^\infty(c_n+4^{-n}B)\quad\text{and}\quad F:=[0,1]\setminus U,$$
where $B:=(-1,1)$. Then $U\supset S$ and hence $U$ is dense in $[0,1]$. The Lebesgue measure $|U|$ of $U$ is $\le2/3$ and hence $|F|\ge1/3>0$. Let now $X$ be any r.v. uniformly distributed on $F$, so that the pdf of $X$ is
$$p=1_F/|F|.$$
Also, the set $U$ is open and therefore
$$U=\bigcup_{k=1}^\infty I_k,$$
where the $I_k$'s are some pairwise disjoint open subintervals of $(0,1)$. Let
$$U_n:=\bigcup_{k=1}^n I_k$$
and then let $E_n$ denote the set of all endpoints of the intervals $I_1,\dots,I_n$. For any $x\in[0,1]$ and any $A\subseteq[0,1]$, let $d(x,A):=\inf\{|y-x|\colon y\in A\}$.
Since $U$ is dense in $[0,1]$, for all $x\in F$ we have $d(x,U)=0$ and hence $d(x,U_n)\to0$, so that $d(x,E_n)=d(x,U_n)\to0$. Letting now
$$Y_n:=y_n(X),$$
where
$$y_n(x):=\min\{y\in E_n\colon |x-y|=d(x,E_n)\},$$
we see that $|X-Y_n|=d(X,E_n)\to 0$ a.s. and hence
$Y_n\to X$ a.s.
Finally, define $X_n$ as follows. For any $y\in E_n$ and any $t\in(0,1)$, let
(i) $x_n(y,t):=y+|I_k|t/n$ if $y$ is the left endpoint of the interval $I_k$ for some $k\in[n]:=\{1,\dots,n\}$, and
(ii) $x_n(y,t):=y-|I_k|t/n$ if $y$ is the right endpoint of the interval $I_k$ for some $k\in[n]$ but $y$ is not the left endpoint of the interval $I_l$ for any $l\in[n]$.
Then let $X_n:=x_n(Y_n,T)$, where $T$ is a r.v. uniformly distributed on $(0,1)$ and independent of $X$ (and hence of $Y_n$). Then $X_n$ is an absolutely continuous r.v. with all values in $U_n\subseteq U$; as before, let $p_n$ denote the pdf of $X_n$. Also, $|X_n-Y_n|\le1/n$. Therefore and because $Y_n\to X$ a.s., we have $X_n\to X$ a.s. However, $1_U\in L^\infty[0,1]$ but
$$\int 1_U\,p_n=P(X_n\in U)=1\not\to0=P(X\in U)=\int 1_U\,p.$$