Fire appears in preview, only renders emission
I recently had a similiar problem. Your render, in fact, is correct, but the result is displayed incorrectly. This is due to the way alpha is represented in the viewer, which uses straight alpha rather than premultiplied, so emissive volumes like fire can't be properly modelled. For a detailed explanation, see this answer.

To see the fire, just try switching to RGB mode instead of RGBA in the image viewer and you'll see the flames:


As suggested in the linked answer, a solution would be to use an EXR image wich has premultiplied alpha. If you can't use an EXR however, you need to convert the premultiplied alpha to straight alpha in the compositor, then save as e.g. PNG: