This was quite hard but I got it working at the end.
What I realized: Translation and Rotation set the local position. To transform a world position/rotation to a local one, you actually have to use the parents LocalToWorld matrix, because the child is in parent space. The actual values are then inside the childs localToWorld but in the space of the parents localToWorld - what a brain cracker.
Also ComponentDataFromEntity is the way to get/set Data of other Entities.
Everything else was just trial and error.