Mesh Transformation with rig?
An example.  Lets pretend the monster is more muscular than the human.
In general any mesh shape change is fair game
Some 3D armature bones control organic bone rotations.  Other 3D bones control more organic muscular mesh transformations.  There are big muscles such as thighs and smaller muscles in the face.
Armature.  Bones that are not moved on the bicep for a human can be moved for the monster to create a larger bicep.  This bone would not be involved in arm rotation and perhaps not connected.  Perhaps a child of the upper arm bone.
A lattice can be used to create a larger bicep for the monster.
Since facial features can be controlled by bones.  Exaggerated positions may be useful.  Please search facial feature rigs.
Displacement textures to create non smooth skin.
Use a [custom property] (value on the object) float number ... which varies from 0.0 to 0.5 to 1.0. This custom property can have a keyframe.
Using the custom property with a Blender Python driver to control values of colors and location.  0.0 might indicate human. 1.0 might indicate monster. 0.5 will be the mix of human and monster.  Morph.
Using the custom property blend the skin from some human color to monster color such as green or purple.  Or blend some monster skin texture.
Shape Keys.  Keep in mind bones have a natural sense of rotation.  Shape keys in their primitive state do not.  The more shape keys, the smoother the transition, the more work to coordinate shape keys.
For extreme mesh changes such as monster horns keep in mind that extra mesh vertices can create smoothing problems for the human.  Consider using two meshes and the convenient blinding light flash or image transparency blending.  Such cheap slight of image.  Two meshes can share an armature.  Not trivial.