A continuous-time Markov Chain $(X_t)_{t\ge 0}$ is called time-homogeneous if $$ \qquad (*) \qquad P(X_{s+t}=j|X_s=i)=P(X_t=j|X_0=i), \forall s\ge 0 $$ Strictly speaking, a Poisson process $(N_t)_{t\ge 0}$ does not satisfy the above property since $N_0$ can only be $0$ by default. However, $P(N_{s+t}=j|N_s=i)$ is indeed independent of $s$ for $s>0$. All the books declare that a Poisson process is time-homogeneous, which is not true. How to fix this issue?
One way is to allow $N_0$ to be any number and interpret $N_t$ as $N_t-N_0$. But if I insist $N_0=0$, can such a Poisson process still be time-homogeneous by modifying the condition $(*)$? What is a good alternative to $(*)$?
To fully describe a Markov process, you need two elements: A transition kernel and an initial measure. the condition (*) characterizes a time- homogenous transition kernel, and this is all that's required to make the Markov process homogenous. The Poisson process transition Kernel satisfies this condition. You write correctly that the process is typically stated at $0$, but that is just a preferred initial distribution, which does not impact the homogeneity. The same question you raise is also applicable to Brownian motion, which is usually started at 0, and is a time-homogenous process.