This is correct if $P(S)$ is not contained in the support of $\mathrm{div}(\omega)$. It comes essentially from the definition of $i_x(K_X, P)$. You don't need $\omega$ to be an exact differential from. However the intersection number depends on the choice of $\omega$ (as well as the Weil divisor $K_X$). You can check this by yourself by multiplying $\omega$ by a non-zero constant in $K(S)$ and see the effect on the total intersection number. If $P(S)$ is contained in the support of $K_X$, then you can't define $i_x(K_X, P)$. 

<b>EDIT</b>. Let me add some more details. Denote by $K(X)$ the field of rational functions on $X$, viewed as a constant sheaf on $X$. Then $\omega\in \omega_{X/S}\otimes K(X)$. Hence $\omega\cdot\omega_{X/S}^{\vee}$ is a subsheaf of $K(X)$, hence equal (not only isomorphic) to $O_X(-D)$ for some Cartier divisor $D$ on $X$. We have 
$$ \omega_{X/S}=\omega\cdot O_X(D).
$$ 
A straightforward local computation shows that $\mathrm{div}(\omega)=[D]$ 
the Weil divisor associated to $D$. Let us identify $P$ with $P(S)$. Let $I\subset O_X$ be the ideal sheaf defining $P$ in $X$. As $P$ is not contained in the support of $D$, $D|_P$ is a well defined Cartier divisor on $P$. Namely, if a local equation of $D$ at some point $x\in P$ is given by $f_x\in K(X)$, then we can write $f_x=a/b$ with $a, b\notin I_x$ (here we use that fact that $O_{X,x}$ is a UFD). Then a local equation of $D$ restricted to $P$ is $\bar{a}/\bar{b}$  where $\bar{c}$ means the image of $c$ in $O_{X,x}/I$. 

The above equality restricted to $P$ reads
$$P^{*}(\omega_{X/S})=P^{*}(\omega) \cdot O_P(D|_P).$$ 
So $P^{*}(\omega)$ is a rational section of 

$P^{*}\omega_{X/S}$ and its divisor on $S$ is $D|_P$. 



To get an intersection number independent of the choice of a rational section $\omega$, you have to use Arakelov intersection theory.