[Google Pixel ROMs, Kernels, Recoveries, & Other De] pWEN:
So I ran through the process again to get everything current with June stuff (since PureNexus just put out the June update)...

0. Start from stock on both slots

1. Reboot to bootloader

2. fastboot boot twrp-3.0.2-0-RC1-fastboot-sailfish.img

3. flash TWRP RC2 (twrp-pixel-installer-sailfish-3.1.0-0RC2.zip) and verified boot signer (VerifiedBootSigner-v8.zip)

4. Reboot recovery

5. Wipe Data, System and Cache

6. Flash PureNexus (purenexus_sailfish-7.1.2-20170612-OFFICIAL.zip)

7. Flash TWRP RC2 and Verified Boot Signer again

8. Boot PureNexus

9. If Vendor image error, reboot to recovery and flash vendor image (NJH47B_vendor.img) in TWRP or fastboot

10. Flash Magisk 12 (Magisk-v12.0-Pixel.zip), then TWRP and VBS again

11. Reboot system

12. Install Magisk Manager (MagiskManager-v4.3.3.apk) and verify it works - if not, enable core only mode and reboot

13. Reboot recovery

14. Flash ElementalX (ElementalX-P-1.12.zip), then TWRP and VBS again

15. Reboot System

After first installing EX and opening the app, I again see settings missing. I check the ElementalX category in the app and it says I have an update...

Android 7.1.2 (Nougat)

3.18.31-PureKernel-Pixel-1.1.3

Update: ElementalX-P-1.12

Which is what I tried installing before, and was apparently successful. I was smart this time, and saved a log file of when EX first installed. Here it is:

AROMA INSTALLER version 3.00

(c) 2013-2015 by amarullz.com

ROM Name : ElementalX

ROM Version : 1.12

ROM Author : flar2

Device : Pixel and Pixel XL

Start at : Wed Jun 14 13:23:07 2017

installing samsung updater extensions

Installing ElementalX...

Extract: /tmp/BootSignature_Android.jar

Extract: /tmp/buildconfig.sh

Extract: /tmp/busybox

Extract: /tmp/elex.Image

Extract: /tmp/ex.pk8

Extract: /tmp/ex.x509.der

Extract: /tmp/install.sh

Extract: /tmp/mkbootimg

Extract: /tmp/unpackbootimg

about to run program [/tmp/install.sh] with 1 args

65536+0 records in

65536+0 records out

33554432 bytes (32.0MB) copied, 0.235058 seconds, 136.1MB/s

BOARD_KERNEL_CMDLINE console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=sailfish user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff buildvariant=user veritykeyid=id:7e4333f9bba00adfe0ede979e28ed1920492b40f

BOARD_KERNEL_BASE 80000000

BOARD_NAME

BOARD_PAGE_SIZE 4096

BOARD_KERNEL_OFFSET 00008000

BOARD_RAMDISK_OFFSET 01000000

BOARD_TAGS_OFFSET 00000100

grep: /tmp/aroma/mods.prop: No such file or directory

grep: /tmp/aroma/mods.prop: No such file or directory

sh: 1: unknown operand

40283 blocks

grep: /tmp/aroma/mods.prop: No such file or directory

grep: /tmp/aroma/mods.prop: No such file or directory

sh: 1: unknown operand

WARNING: linker: Warning: unable to normalize "."

WARNING: linker: Warning: unable to normalize "."

WARNING: linker: Warning: unable to normalize "."

WARNING: linker: Warning: unable to normalize "."

umount: can't umount /system: Invalid argument

WARNING: linker: Warning: unable to normalize "."

WARNING: linker: Warning: unable to normalize "."

WARNING: linker: Warning: unable to normalize "."

CANNOT LINK EXECUTABLE "/system/bin/dex2oat": "/sbin/libcutils.so" is 64-bit instead of 32-bit

Exception in thread "main" java.lang.UnsatisfiedLinkError: Library javacrypto not found; tried [./libjavacrypto.so, /sbin/libjavacrypto.so]

at java.lang.Runtime.loadLibrary0(Runtime.java:1013)

at java.lang.System.loadLibrary(System.java:1562)

at com.android.org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:25)

at com.android.org.conscrypt.NativeCrypto.<clinit>(NativeCrypto.java:54)

at com.android.org.conscrypt.OpenSSLBIOInputStream.<init>(OpenSSLBIOInputStream.java:34)

at com.android.org.conscrypt.OpenSSLX509Certificate.fromX509DerInputStream(OpenSSLX509Certificate.java:64)

at com.android.org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509DerInputStream(OpenSSLX509CertificateFactory.java:226)

at com.android.org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509DerInputStream(OpenSSLX509CertificateFactory.java:224)

at com.android.org.conscrypt.OpenSSLX509CertificateFactory$Parser.generateItem(OpenSSLX509CertificateFactory.java:106)

at com.android.org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:272)

at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:362)

at com.android.verity.a.b(Unknown Source)

at com.android.verity.BootSignature.main(Unknown Source)

Finished!

script result was [1.0]

Installer Sucessfull (Status 0)

End at : Wed Jun 14 13:23:20 2017

I let the app download the "update", then went back into TWRP RC2 and used that file to flash EX again. The missing settings are back (though still no backlight dimmer option). I saved another log file and it does show some differences:

AROMA INSTALLER version 3.00

(c) 2013-2015 by amarullz.com

ROM Name : ElementalX

ROM Version : 1.12

ROM Author : flar2

Device : Pixel and Pixel XL

Start at : Wed Jun 14 13:41:04 2017

installing samsung updater extensions

Installing ElementalX...

Extract: /tmp/BootSignature_Android.jar

Extract: /tmp/buildconfig.sh

Extract: /tmp/busybox

Extract: /tmp/elex.Image

Extract: /tmp/ex.pk8

Extract: /tmp/ex.x509.der

Extract: /tmp/install.sh

Extract: /tmp/mkbootimg

Extract: /tmp/unpackbootimg

about to run program [/tmp/install.sh] with 1 args

65536+0 records in

65536+0 records out

33554432 bytes (32.0MB) copied, 0.236993 seconds, 135.0MB/s

BOARD_KERNEL_CMDLINE console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=sailfish user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff buildvariant=user veritykeyid=id:7e4333f9bba00adfe0ede979e28ed1920492b40f

BOARD_KERNEL_BASE 80000000

BOARD_NAME

BOARD_PAGE_SIZE 4096

BOARD_KERNEL_OFFSET 00008000

BOARD_RAMDISK_OFFSET 01000000

BOARD_TAGS_OFFSET 00000100

grep: /tmp/aroma/mods.prop: No such file or directory

grep: /tmp/aroma/mods.prop: No such file or directory

sh: 1: unknown operand

40283 blocks

grep: /tmp/aroma/mods.prop: No such file or directory

grep: /tmp/aroma/mods.prop: No such file or directory

sh: 1: unknown operand

umount: can't umount /system: Invalid argument

55370+1 records in

55370+1 records out

28349534 bytes (27.0MB) copied, 1.464959 seconds, 18.5MB/s

Finished!

script result was [1.0]

Installer Sucessfull (Status 0)

End at : Wed Jun 14 13:41:18 2017

I'm hoping this sheds a little more light on whatever is going on for anyone else with this issue, but I'm sure it just confirms what flar2 was saying! :p