Since JPEG doesn't support transparency, pillow fills those transparent areas with white by default. I would suggest you to manually add a black background before saving to JPEG.
black_bg = Image.new("RGBA", img.size, "black")
final_img = Image.alpha_composite(black_bg, img)