With reference to this question, I found a working simple example of my problem.
The solution provided therein uses transparency and orbiting boxes where the small box box2 is nicely visible even when behind the transparent big box box1
However, the whole thing revolves around this line:
shapes.getChildren().addAll(box2, box1);
If you exchange the order in which both of them are added, or change box2 to be transparent as well, then you'll see that whichever comes first is always drawn (even behind a transparent shape) but the second shape added to the Group won't be drawn (even if the shape "hiding" it is transparent).
In other words, transparency doesn't seem to be considered when executing depth test. This is problematic if you can't safely tell which one will be in the background or, as in the example, objects swap places.
If you try the same with a DiffuseMap (e.g. an image with transparency) instead of DiffuseColor with alpha, then it works better.
Is it a bug or a feature? Is there any way to eliminate this issue, e.g. by adding a transparent DiffuseMap to the Material? (not sure how to do that, just an idea)