Reason for body attached to a string being in free fall?

This is a question I found in a book:

A string is wrapped around a uniform cylinder as shown in diagram. When cylinder is released string unwraps without any slipping and the cylinder comes down.

I assumed that an equation $T - mg = ma$ could be formulated and the tension does negative work. However the answer is that the tension does zero work. This I understand is because the cylinder is in free fall, and the equation will be $T - mg = mg$ and therefore $T = 0$.

Is my assumption correct? If it is, why is this so? It doesn't make sense to me. Should the tension exert some upward force and the downward acceleration be at least a bit less than $g$?

Your equation $T-mg=ma$ seems right to me. The reason the tension does not do any work is not because $T=0$, but rather because the point where $T$ acts does not move.
This is simply because of the "no slipping" condition : the point of contact of the cylinder has speed 0. Hence, the work produced by $T$ is simply $W =\vec{T}\cdot d\vec{x}$ where $d\vec{x}$ is the instantaneous displacement of the contact point. However, at any given instant, $\frac{d\vec{x}}{dt} = 0$ because of the no slip condition, hence $d\vec{x}=\vec{0}$, and so $W=0$.