BLHeli_32 ESC works, but fails test and doesn't do bidirectional Dshot

I have a Matek H743 wing v2 running Ardupilot 4.1.7 ( MatekH743-bds firmware). I have a BLHeli_32 ESC (that is supposed to be Dshot 1200 capable) running version 32.83 plugged into S1 with the ESC telemetry plugged into Rx8.

I have the following settings:
SERVO_BLH_MASK=1
SERVO_BLH_OTYPE=5
SERVO_BLH_BDMASK=0

When the system boots up it shows this as expected: RCOut: DS300:1-2 PWM:3-13

I can arm the flight controller and in manual mode the motor is controlled by the TX throttle as you’d expect. I can also see the esc1_* items in the status

However, if I set SERVO_BLH_DEBUG=1 and SERVO_BLH_TEST=1, then I get the following:
4/8/2022 11:47:42 PM : ESC: Test FAILED
4/8/2022 11:47:42 PM : ESC: short read
4/8/2022 11:47:42 PM : ESC: BL_ReadBuf 8 → 0
4/8/2022 11:47:42 PM : ESC: BL_ConnectEx 0/1 at 0
4/8/2022 11:47:42 PM : ESC: short read
4/8/2022 11:47:42 PM : ESC: BL_ReadBuf 8 → 0
4/8/2022 11:47:42 PM : ESC: BL_ConnectEx 0/1 at 0
4/8/2022 11:47:42 PM : ESC: short read
4/8/2022 11:47:42 PM : ESC: BL_ReadBuf 8 → 0
4/8/2022 11:47:42 PM : ESC: BL_ConnectEx 0/1 at 0
4/8/2022 11:47:42 PM : ESC: short read
4/8/2022 11:47:42 PM : ESC: BL_ReadBuf 8 → 0
4/8/2022 11:47:42 PM : ESC: BL_ConnectEx 0/1 at 0
4/8/2022 11:47:42 PM : ESC: short read
4/8/2022 11:47:42 PM : ESC: BL_ReadBuf 8 → 0
4/8/2022 11:47:40 PM : Initialising ArduPilot
4/8/2022 11:47:40 PM : ESC: BL_ConnectEx 0/1 at 0
4/8/2022 11:47:40 PM : ESC: Running test on channel 0

Interestingly, after that it spits out a whole lot of logs like this:
4/8/2022 11:47:53 PM : AHRS: EKF3 active
4/8/2022 11:47:53 PM : AHRS: DCM active
4/8/2022 11:47:53 PM : AHRS: EKF3 active
4/8/2022 11:47:53 PM : AHRS: DCM active
and the ESC doesn’t work until I reboot the flight controller.

And if I set SERVO_BLH_BDMASK=1 then I cannot control the motor with the throttle. It just does nothing.

Anyone have any ideas?