Your main error is to treat the derivatives as fractions. From the
definition, they are not fractions, they are limits of fractions.
Now for total derivatives treating them like fractions generally gives
correct results (at least I never have seen any case where it fails),
therefore one might consider this nitpicking, but the difference shows
quite clearly as soon as you get to partial derivatives, and your
calculation is one example. Indeed, a more striking example is the
following relation, which also illustrates another point I'll mention
below (and yes, this is exactly how it was written back in the math
lecture I attended):
$$\frac{\partial y}{\partial x} \frac{\partial z}{\partial y}
\frac{\partial x}{\partial z} = -1 \tag 1$$
If partial derivatives could be treated like fractions, then clearly
in the above expression, all terms would cancel and the result would
be $+1$.
The other point this equation illustrates is that the partial
derivative notation does not give the full information. The missing
information is generally inferred from the context (which, of course,
I've not given for the above equation, in order to illustrate the
point; I'll give it below).
Let's go back to the partial derivative chain rule formula:
$$\frac{\mathrm dz}{\mathrm dt} = \frac{\partial z}{\partial x}
\frac{\mathrm dx}{\mathrm dt} + \frac{\partial z}{\partial y}
\frac{\mathrm dy}{\mathrm dt} \tag 2$$
You may notice that this differs from the form you gave by having
*total* derivatives also on the right hand side. In this form, it is
also more readily visible that you cannot just cancel things out.
Now what are the hidden assumptions here:
1. $z$ is a function of *two* arguments, the first one we label $x$,
and the second one we label $y$.
2. Furthermore, we have two functions $x$ and $y$ (which we name *the
same* as the arguments of $z$, despite them being very different
objects), whose argument we name $t$.
3. From those we form a *different* function, also named $z$,
which takes *one* argument, named $t$, which is formed as follows:
* We pass the single argument $t$ to the functions $x$ and $y$.
* The results of those function applications are then used as
arguments to the two-argument function $z$, matching the
function names with the argument names.
Doing this in a mathematically clean way, we would write it as
follows:
We have one function of two arguments,
$$z:\mathbb R^2\to\mathbb R, (u,v)\mapsto z(u,v)$$
and two functions of one argument each,
\begin{align}
x: \mathbb R\to\mathbb R&, t\mapsto x(t)\\\\
y: \mathbb R\to\mathbb R&, t\mapsto y(t)
\end{align}
We now form a new function $h:\mathbb R\to\mathbb R$ defined by
$$h: \mathbb R\to\mathbb R, t\mapsto z(x(t),y(t))$$.
Now with those definitions, the chain rule formula reads:
$$\frac{\mathrm df}{\mathrm dt} =
\frac{\partial z}{\partial u} \frac{\mathrm dx}{\mathrm dt} +
\frac{\partial z}{\partial v} \frac{\mathrm dy}{\mathrm dt} \tag 3$$
Written this way, there clearly isn't anything to cancel.
Now why would we then normally write things in the form $(2)$ instead
of $(3)$? Well, for one, $(2)$ needs far fewer letters, and moreover
by the matching of letters it is far easier to memorize and to get
right.
But on the other hand, it also is a conceptual thing: In particular in
physics, we don't usually thing in terms of functions, but in term of
relations. That is, we have a relation between $x,y,z$ which happens
to in a way that given $x$ and $y$, we can infer $z$, that is, $z =
z(x,y)$, where I again abused notation in that I gave the quantity and
the function the same name. That is, in physics, the functions are
generally implicitly given, and the function arguments are also
generally inferred from the context.
Indeed, there is one area in physics where context is not generally
sufficient to determine the function, and that is thermodynamics.
Therefore in thermodynamics, it is customary to write the other
arguments (those that are not derived for) as index to the partial
derivative. And thus $\left(\frac{\partial S}{\partial
T}\right)\_{V,N}$ and $\left(\frac{\partial S}{\partial
T}\right)\_{p,N}$ are not the same. Written in “thermodynamics
notation”, $(2)$ would read:
$$\frac{\mathrm dz}{\mathrm dt} =
\left(\frac{\partial z}{\partial x}\right)\_{y}
\frac{\mathrm dx}{\mathrm dt} +
\left(\frac{\partial z}{\partial y}\right)\_{x}
\frac{\mathrm dy}{\mathrm dt}$$
On the question of replacing total with partial derivative, if you
have a mathematical function of one argument, then *in that context*
total and partial derivative are indeed the same (as there are no
other arguments, the question what you do with them is obviously
moot). But imagine you've got some quantity that depends on
(one-dimensional) position and time, $Q = Q(x,y)$ and some particle
moving according to $x = x(t)$ and $Q(t) = Q(x(t),t)$ is the quantity
at the particle's position at time $t$. Then the rate of change (time
derivative) reads
$$\frac{\mathrm dQ}{\mathrm dt} =
\frac{\partial Q}{\partial x} \frac{\mathrm dx}{\mathrm dt} +
\frac{\partial Q}{\partial t}$$
As you can see, this formula contains both the total and the partial
derivative, and both are clearly *not* the same. This is because the
partial derivative tells you how $Q$ changes at the current position,
while the total derivative also takes into account the indirect effect
of the changing position.
And now I can also lift the mystery of eq. $(1)$: This is about a
relation $f(x,y,z)=0$ in which each of $x,y,z$ can be written as
function of the other two:
$$x = x(y,z), y = y(x,z), z = z(x,y)$$
Using the “thermodynamic notation”, $(1)$ would read
<p>$$\left(\frac{\partial y}{\partial x}\right)_z
\left(\frac{\partial z}{\partial y}\right)_x
\left(\frac{\partial x}{\partial z}\right)_y = -1$$</p>
In that notation, it looks less as if cancelling anything were
possible.