I think this holds in quite some generality by the following argument but I don't have a general reference. It is based on an argument I saw in a paper of Diaconis & Saloff-Coste on finite Markov chains and is probably a standard argument. Let $S$ be a Polish space, let's say. If $T(t)$ is a Markov-Feller semigroup on $C_b(S)$ with kernel $p_t(x,dy)$, then note that for $f \in C_b(S) \cap L^1(\mu)$, \begin{equation} ||T(t)f||_{L^1(\mu)} = \int_S \left| \int_S p_t(x, d y) f(y) \right| \mu(dx) \leq \int_S \left(\int_S p_t(x,dy) |f(y)|\right) \mu(dx) = ||f||_{L^1(\mu)}, \end{equation} which shows that $(T(t))$ is contracting with respect to the $L^1(\mu)$-norm. The adjoint (w.r.t $\mu$) semigroup is also Markov (perhaps not in general, but immediate if e.g. $p_t(x,dy)$ admits a density w.r.t. $\mu$). The same argument as before gives that $T^*(t)$ contracts $L^1(\mu)$. By duality, $T(t)$ contracts $L^{\infty}(\mu)$. Then one could use interpolation of the spaces $L^p(\mu)$ to show that $(T(t))$ contracts $L^p(\mu)$ for any $p \geq 1$. Approximation of $f \in L^1(\mu)$ by continuous functions should then give you the extension you are looking for.
I guess some details need to be filled in, e.g. under what conditions interpolation works (I am not familiar with this topic). For $p < 1$ things are probably very different. Hope this helps.