Hi,
It also depends on your CNC-driver and software.
I would first consult its documentation in detail.
Mine has the capability to map Y motions to a 4th rotational A-axis. (
EdingCNC)
The radius or diameter is then a driver parameter.
A bit tricky to set it up correctly but once the initialization is done it is like engraving in the XY plane.

Converting from flatbed to rotational axis and back is then the hardest part.
The problem I had is that I can only set up the 4th rotational axis as parallel with Y, the center line is then fixed in X.
My spindle driver and chuck or face-plate don't fit under my X bridge, only the tail stock and work-piece do.
Essentially I had to map X to A and that was not an option, I then swapped the driver outputs X with Y and rotated the DXF data.
I could also have rotated my coordinate system virtually but that posed other problems.
Another advantage of my diver soft is that it includes a simple CAM and almost cuts directly from DXF.
For starting up, just fool your Z height so that initially it cuts air.
If all seems fine one can zero the cutter in Z on the cylindrical work-piece.
When the diameter is not really uniform, you first need to probe the surface for a grid-like Z-compensation data file.
There is no cylindrical remapping required because the driver already considers all to be flat.
Circular motions (G2/3) should not be a problem.
Because all XY motions are simply mapped to the cylindrical surface.
With every type of motion involving an A-axis rotation the stress on your cutter is quite different so be gently.
I would not say that it is straight forward with a flat surface ... Define flat.
With an engraver point the depth of cut defines the width of cut.
A minute difference of the actual depth into the material may have a larger impact on the width.
It gets more complex on a cylinder because the depth is the center depth and not the cutter edge depth.
For a conical engraver point it is best that you draw yourself an example of a cross-cut.
Regards,
CVH