Actually Leibniz invented the modern dy and dx notation and did view the differentials as genuinely nonzero, which is generally speaking a safe assumption. In other words, dy/dx really was a quotient, albeit of really tiny values (at least we assume dx can become arbitrarily small while remaining nonzero). The calculation Leibniz would do looked something like this. First he would consider an equation y = x^2. Then he would consider a nonzero difference so something like y + dy = (x + dx)^2 = x^2 + 2x dx + (dx)^2. At this point he would use his starting equation to subtract y from the LHS and x^2 from the RHS, leaving: dy = 2x dx + (dx)^2. Then he would divide by dx leaving dy/dx = 2x + dx and since dx is infintisimal, he would just lop it off. Suffice it to say, just ignoring the nonzero dx on the RHS, or casting it to 0 while conveniently ignoring the division by 0 on the LHS, was rather disturbing to many critics. A lot of work had to be done by Riemann, Cauchy, and Weierstrass over the following century after Newton and Leibniz invented calculus to answer the question you are asking.
I think the best way to understand this is that division by dx is always allowed. It is genuinely a nonzero quantity. Later, we think more in a more abstract way in a tiny neighborhood around (x,y), considering what happens to dy as dx becomes arbitrarily small, but it never vanishes entirely. That explains why we can say dy = 2x dx or dy/dx = 2x and both are completely true and reasonable. I think the author's argument is that d() is a bit easier to understand because we aren't dividing by dx but it makes no sense (to me) that way. If you cannot divide by dx, a nonzero number, then why not? And if you can, why doesn't dy/dx involve zero division, which is clearly not well-defined? I think answering those questions makes calculus a lot easier to understand and that they are in a sense the hardest questions. The notation this author uses doesn't really illuminate those points and the fact that the author realizes that he is basically teaching the students to accept zero division for most of the year suggests he is basically saying we should go back to a Leibniz-era approach to calculus. I would rather make rigorous what is meant by dx/dy and what exactly dx and dy are.
Hyperreal numbers make Leibniz notation literal and algebraically consistent and rigorous, rather than a convenient shorthand for limits.
Author suggests using them. Resistance to Hyperreals seems to come from era before there were rigorous definitions for them.
This is effectively how dual numbers work! https://en.wikipedia.org/wiki/Dual_number
Dual numbers are basically big/little O notation. They combine beautifully with Robinson's NSA to give the most 18th century-like approach to deriving integral/derivative formulas that I know. And it's fully rigorous!