Definitely contact OWC tech support if you are unsure if the product is compatible with your hardware. I find OWC tech support to be very friendly and helpful.
I agree with @LonerT that the Apple SSD likely has a controller issue if it is getting extremely hot. Most of the SSD failures I have encountered have involved not being able to communicate with the SSD at all (regardless of the OS used). macOS is very particular and can even refuse to operate when the Apple hardware isn't working as expected so it doesn't surprise me that macOS may not see the SSD when installed internally. Plus by installing the SSD in a USB enclosure you are blocking some of the natural communication with the SSD. Really hard to say why one works and the other does not without gathering more information using a Linux boot disk.
It may be interesting to create a bootable Knoppix Linux USB drive to see whether Linux is able to detect the bad SSD when the bad SSD is internally. You can also use Knoppix to perform the clone using GNU ddrescue since Knoppix includes this utility by default. If you are interested in this method instead let me know since the directions are just slightly different than the ones I provided for macOS below.
In my previous post I provided a template for the command you can use with ddrescue at least on the first pass. If errors are encountered and you need to run another pass in an attempt to read any troublesome blocks, then the command should be modified by removing the " -n " option flag.
If you are cloning directly to another bare drive instead of a raw image file you may need to add the " -f " option flag after the " -n " option flag in order to force the utility to overwrite existing data on the destination drive. I believe the utility will alert you if this necessary.
This command will clone the SSD to a raw image file on your Desktop called "samsung-clone.img" along with "mapping-file.txt" which is needed if you restart an interrupted clone or to start another pass (see the previous post for some more information about this command and what you need to customize such as replacing "diskN" with the correct drive identifier):
sudo ddrescue --ask -n /dev/diskN ~/Desktop/samsung-clone.img ~/Desktop/mapping-file.txt
If you are going to clone the bad SSD to another equal or larger drive, then you need to modify the destination to point to the correct drive identifier for the destination drive which must not be mounted or ejected. To unmount a drive without ejecting the drive you need to use the following command (replacing the "Y" in "diskY" with the correct drive identifier):
diskutil unmountDisk diskY
Then you would use this template to clone to another bare drive:
sudo ddrescue --ask -n -f /dev/diskN /dev/diskY ~/Desktop/mapping-file.txt
Notice I added the " -f " option flag to force the utility to overwrite data on the destination drive "diskY". I also modified the destination parameter from a raw image file on the Desktop to "/dev/diskY" which is the physical drive identified as "diskY". If you mix up the source & destinations, then you will overwrite your data (assuming it still exists) so be very careful.
This is all you really should need for your situation regarding ddrescue. I do recommend at least browsing the ddrescue manual on the website just to understand the basics of how the utility works and which parameters are for the source, destination, and mapping file. You do not need to read everything (I actually skimmed & skipped serveral sections myself).
As for downloading GNU ddrescue I suggest installing Homebrew so that you can access the newest version of GNU ddrescue when using macOS. Follow the instructions on the Homebrew website for installing Homebrew itself:
https://brew.sh/
To install Homebrew you can just cut & paste this command directly into macOS Terminal app (If you cut & paste this command from their website make sure not to include the leading "$" character which I've removed here):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Once Home brew is installed it is very easy to install GNU ddrescue with the following command:
brew install ddrescue
FYI, I make it a point in my posts here to emphasize it is "GNU ddrescue" since there is another version of this utility just called "ddrescue" as well which isn't as good or the same utility. I'm not even sure if this other version still exists, but I want to ensure people use the correct utility. It is Ok for others to just reference it as "ddrescue" for simplicity.