I think you need to swap target and source frames in lookupTransform.
I know it is confusing, but I guess the way to think about it is that lookupTransform returns a way of transforming data from source_frame to target_frame. So if you want to know where child is relative to its parent, parent is the target frame, because you want to express the position and orientation of child while looking from parent's frame.