Teleporting (teleport NOT tp) an entity to another entity uses the relative co-ords of the executer, but the rotation is relative to the target. This is not the expected result.
teleports the player to the armor stand but does not match the armor stand's rotation.
Example: Thanks to OSX
Further note, thanks to SirBenet:
teleports the pig to the armor stand with correct rotation, so it seems to be more of a player thing.