Oh, I see, I thought you were using Hibernate annotations, not JPA.
The way I see it:
The meaning of "all" cascading type in JPA is the same as in Hibernate, which you quoted, ie. the child will be deleted only if you
delete the parent. You perform a "remove" operation on the parent and it is cascaded to the child (all the children, to be precise).
Since you're not deleting the parent, just
diconnecting one of the children, you're not performing any key operation on the parent - there's nothing to cascade in fact. Automatically deleting a child in that case is an extra feature, provided by Hibernate (by "delete-orphan") but... not included in the JPA API.
It seems you can't get it done easy way if you don't want to use Hibernate specific annotations.
I've found a short topic about it:
https://coderanch.com/t/218171/Object-Relational-Mapping/java/all-delete-orphan-JPA