What do I need is to track Quaternion to some point using it’s local Y axis, how do I think it should work:
Quaterion curQua; // Current and result rotation
Vector3 curPos; // Current position
Vector3 tarPos; // Target position
Quaternion tarQua = Quaternion.LookRotation(tarPos-curPos) // Target rotation in global space
Quaternion locQuaDelta = some black magic // Get tarQua in space of curQua
curQua *= Quaternion.Euler(0, locQuaDelta.eulerAngles.y, 0); // Result