[Sony Xperia XZ1 Compact ROMs, Kernels, Recoveries,] raphidae:
Of TWRP or a ROM? I wasn't sure whether TWRP Pie version would work fine with Oreo, so I haven't tried it. But I need to reinstall my phone anyway as I screwed something up in the google play services with Ti Backup, so I will try in the next few days.

Edit:

I just tried with the latest version, got the same error:

I:Can't probe device /dev/block/sda66
I:Unable to mount '/data'
I:Actual block device: '/dev/block/sda66', current file system: 'ext4'
I:Can't probe device /dev/block/sda66
I:Unable to mount '/data'
I:Actual block device: '/dev/block/sda66', current file system: 'ext4'
I:Can't probe device /dev/block/sda66
I:Unable to mount '/data'
get_crypt_ftr_info crypto key location: 'footer'
...
ro.boot.keymaster=1
...
crypto.ready=1
...
ro.crypto.type=file
ro.crypto.state=encrypted
I:Is encrypted, do decrypt page first
I:Switching packages (TWRP)
I:Set page: 'decrypt'
I:Set page: 'trydecrypt'
I:operation start: 'Decrypt'
crypt_ftr->fs_size = 46394256
Using scrypt with keymaster for cryptfs KDF
Trying to convert ASCII string of odd length
Failed to convert passwd from hex, using passwd instead

could not find any keystore module
Failed to init keymaster
Signing failed
kdf failed
failure decrypting master key
Failed to decrypt master key
crypt_ftr->fs_size = 46394256
could not find any keystore module
Failed to init keymaster
Signing failed
kdf failed
failure decrypting master key
Failed to decrypt master key
I:Set page: 'decrypt'
I:operation_end - status=1
I:Set page: 'trydecrypt'
I:operation_start: 'Decrypt'
crypt_ftr->fs_size = 46394256
Using scrypt with keymaster for cryptfs KDF
Trying to convert ASCII string of odd length
Failed to convert passwd from hex, using passwd instead

could not find any keystore module
Failed to init keymaster
Signing failed
kdf failed
failure decrypting master key
Failed to decrypt master key
crypt_ftr->fs_size = 46394256
could not find any keystore module
Failed to init keymaster
Signing failed
kdf failed
failure decrypting master key
Failed to decrypt master key
I:Set page: 'decrypt'
I:operation_end - status=1
...
Cannot load settings -- encrypted.

/dev/block/sda66 flags include Can_Be_Encrypted Is_Encrypted Use_Userdata_Encryption Is_Storage

TWRP is looking at the FDE crypto footer (and extracts the right filesystem size), however it does say "ro.crypto.type=file", so it seems to be thinking it's FBE. The main error seems to be the absence of the "keystore module", whatever that is (I guess the interface to the TEE module or something?).

When Android is booted the crypto properties are:

[ro.crypto.fs_crypto_blkdev]: [/dev/block/dm-0]

[ro.crypto.state]: [encrypted]

[ro.crypto.type]: [block]

Seeing as FDE worked in the past, does anyone have TWRP 3.1.1 for me to test? It seems that version would still work with FDE. Perhaps the newer versions are just blindly assuming FBE and won't work with FDE.

Edit2: This is a link to the post suggesting 3.1.1 may decrypt: https://xdaforums.com/g5-plus/development/recovery-twrp-3-1-1-0-touch-recovery-t3701488/page6

The log at the top is exactly the same as on my phone, so perhaps the fix is also the same? I do have the 3.1.1-potter TWRP file (download link in the OP of that thread as well), but I assume this won't work on lilac without changing some things? Maybe someone can look at what is different in the 3.1.1-potter and port the fix to 3.2.3-lilac?