There's some interesting pointer found in Decrypting Android M adopted storage (emphasis mine):
Android M allows for adoptable storage, which is implemented similarly to internal storage FDE -- using dm-crypt with a per-volume, static 128-bit AES key, stored in /data/misc/vold/
. Once the key is extracted from the device, adopted storage can be mounted and read/written on any Linux machine. Adoptable storage encryption is done purely in software (at least in the current preview build), so its performance is likely comparable to encrypted internal storage on devices that don't support hardware-accelerated FDE.
Also take a look at Corrupt SD card formatted as internal storage, which gives a quite detailed tutorial on how to do it :)