The default skeleton must be used for expression transfer. It should be noted that if you wish a smaller skeleton afterward, you can convert the default skeleton to the 25 bone Kinect2 custom rig. You do not actually need a Kinect to do this. That rig can also do IK. The "key" in this workflow is that you chose shapekeys as the destination of the expressions you transferred.
The default destination for expressions is directly to shapekeys. If going that route, keys can only be made using this process on meshes which have no modifiers that change the number of vertices. Helper visibility & hide faces modifiers are put on the body mesh. Apply them. You can still have the sub-surf modifier though.
When you are going the shapekey route, the info section (a window type in 2.80) will give you statistics as well as a couple of warning messages. A message, not shown, states that a key is ignored because not enough vertices were changed. Seems to happen a lot with the tongue with like 5 stray changes.
This transfer was developed for later going the real time performance environment WebGL. I require very clean data only, not umpteen changes so small that you are never going to see them. I have 24 of my own micro expressions which get combined on the fly downstream. Here is an old
scene showing them.
One final note on keys, you can later merge the meshes. Keys have the same names & they get combined just fine.
None of this applies when you change the destination to Pose Library. There, the only "trick" is you need to actually create a library, so that there is a place to write to. The 'Transfer' button will then be enabled.
Finally, if your character is just standing / looking forward, you will get more accurate expressions, un-checking `No Location Translation'.