For a differentiable function $f: U \to \mathbb{R}$ on an open set $U \subseteq \mathbb{R}^n$ the total differential at the point $p \in U$ is typically defined as $$ {{\rm {d}}}f(p): \mathbb{R}^n \to \mathbb{R}\quad,\quad{{\rm {d}}}f(p):=\sum _{{i=1}}^{n}{\frac {\partial f}{\partial x_{i}}}(p)\,{{\rm {d}}}x_{i}. $$ If $e_1, ..., e_n$ denotes the standard basis of $\mathbb{R}^n$ then we can define linear forms ${{\rm {d}}}x_i: \mathbb{R}^n \to \mathbb{R}$ by letting ${{\rm {d}}}x_i(x) := \pi_i(x) = x_i$, i.e. we project each vector onto its $i$-th coordinate w.r.t. the standard basis. Then we have ${{\rm {d}}}x_i(e_j) = \delta_{ij}$ and so the set ${{\rm {d}}}x_1, ..., {{\rm {d}}}x_n$ is the dual basis. Since $df(p)$ is also an element of the dual space $(\mathbb{R}^n)^{*}$ this explains the above coordinate representation of the total differential.
However, the notation ${{\rm {d}}}x$ suggests (at least to me) that the ${{\rm {d}}}x_i$ are some sort of differential themselves and not just defined into existence as I did above. We cannot derive them via the definition of the total differential, because this would constitute a circular argument.
In my lecture notes we defined the exterior derivative of a differential 0-form, i.e. a function $f: \mathbb{R}^n \to \mathbb{R}$, as $$ {{\rm {d}}}f_{o}: U \to {\bigwedge}^1\left(\mathbb{R}^n\right)\quad,\quad x \mapsto (df)(x). $$ So we map every point in $U$ to the corresponding total differential of $f$ - that is ${{\rm {d}}}f_{o}$ is a differential 1-form. In the same notes my professor goes on and defines the ${{\rm {d}}}x_i$ as the exterior derivative of the $\pi_i$. So this elevates the ${{\rm {d}}}x_i$ to the status of differential $1$-forms.
How can all these definitions be made consistent? What is a clean and consistent way to define the ${{\rm {d}}}x_i$? Are they best thought of as linear forms or differential $1$-forms?
It's a matter of notation, maybe abuse of notation.
The $dx_i$ (defined in any tangent space $T_p$ of points $p\in{\mathbb R}^n$) are the differentials of the "special" functions $$x_i:\quad{\mathbb R}^n\to{\mathbb R},\qquad x=(x_1,\ldots, x_i,\ldots,x_n)\to x_i\qquad(1\leq i\leq n) ,$$ called $\pi_i$ in your question. These $dx_i$ are $n$ different vectors in $T_p^*$, and in fact form a basis of this $T_p^*$. Doing all the calculations, chain rule, etc., one finds that $$df(p).X=\sum_{i=1}^n{\partial f\over\partial x_i}(p)\>X_i=\sum_{i=1}^n{\partial f\over\partial x_i}(p)\>dx_i(X)\qquad\forall X\in T_p\ ,$$ so that $$df(p)=\sum_{i=1}^n{\partial f\over\partial x_i}(p)\>dx_i\ .$$ This is not an equation about "infinitesimals", but about linear maps $T_p\to{\mathbb R}$.