One of reasons of quaternion usage in 3D software is "gimbal lock" avoidance. Euler angles does any rotation as 3 separate rotations around each 3 fixed axes - X, Y, Z. But Quaternion instead, does rotation around single axis, which is freely oriented in space. Quaternion.AngleAxis can give you this Vetor3 axis, and the rotation angle (actualy, quaternion consists of Vector3(X,Y,Z) and angle W, in general). So one quaternion rotation can be represented by several different euler rotations.
To do what you want, you need first to get quaternion, representing rotation difference, not the actual rotation. It can be done with Quaternion.FromToRotation, which uses transform's forward and up vectors as the input. Then you can use Quaternion.eulerAngles.