The reason is the Max Bounces setting for Transparent bounces under Light Paths in the Render Properties.
As it seems, you have a value of 0 there. I would rather suggest setting it to a much higher value like 64 or even 128. It doesn't increase the render time very much but you can avoid black artifacts when too many transparent objects are overlapping themselves. Also black artifacts in smoke simulations are much less likely to happen.
The problem doesn't occur in Eevee since it's not a raytracing engine and doesn't use the Light Paths settings for bounces etc. The background is still transparent since it is not "bouncing off" rays so it's not limited to that setting.
It is not necessary to increase the Total bounces, since Transparent bounces are independent from the Total amount while the other values are not. You'll find it here:
Here is an example: When you have one plane with transparency in front of another object e.g. a sphere, the object behind it will be black in the transparent areas just like in your screenshot, because the Transparent bounces are set to 0.
If you now simply increase the value to 1, the sphere will no longer be black behind the plane. But if you put a second plane in the scene, the sphere only shows correct behind the one or the other plane. Where they are overlapping it has turned black again, because there are 2 transparent layers. You can imagine that using small values will quickly give bad results for example on tree objects holding lots of leaves with transparency.