Constant Time algorithms for $\mathbb{Z}/m\mathbb{Z}$, $\mathbb{Z}/m\mathbb{Z}[x]$, and $\mathbb{Z}/m\mathbb{Z}[x] / (f(x))$?
While this is not a total answer (it does not discuss polynomial arithmetic), the Big Integer Design section of the BearSSL page seems like a good resource to share on this problem. Many of the algorithms are roughly similar to those in chapter 14 of Handbook of Applied Cryptography, but care has been made to make them constant time (not all of the algorithms in chapter 14 are by default). In general BearSSL aims to be a &quot;pedagogical&quot; implementation of TLS. Practically speaking, this means it is well-documented, and algorithmic decisions seem to be explained well.
I have not yet looked into algorithms for $\mathbb{Z}/n\mathbb{Z}[x]$ or $\mathbb{Z}/n\mathbb{Z}[x]/(f(x))$, so won't accept an answer until I get to there (or someone else suggests references).