Understanding Differential Forms as elements of a dual space
The linear functional $\omega_p=f(p)\,dx$ eats a vector like $\partial_x$. We have $dx(\partial_x)=1.$ If $v=g(x)\partial_x$, then $\omega_p(v)=f(p)g(p)\,dx(\partial_x)=f(p)g(p).$
The general action of a 1-form $df$ on a vector $v$ is given by the cute equation $$df(v)=v(f).$$
I think you may have forgotten what the symbol $dx$ means. Here $x$ is one of the coordinate functions in a chart at $p$, so it is a smooth function from some neighborhood of $p$ to $\mathbb{R}$. Then $dx$ is by definition the total derivative of $x$: that is, it is the functional on the tangent space at $p$ which takes a tangent vector $v$ at $p$ and outputs the directional derivative of the coordinate function $x$ with respect to $v$. Explicitly, if your local coordinates are $(x_1,\dots,x_n)$ with $x=x_i$ for some $i$ and you think of $v$ as a vector $(a_1,\dots,a_n)\in\mathbb{R}^n$ using these local coordinates, then $dx(v)$ will just be $a_i$. The functional $f(p)dx$ is then just this functional $dx$ multiplied by the scalar $f(p)\in\mathbb{R}$.