dock --set docked and dock --set undocked work perfectly.
Output from acpi_listen:
-- undocked --
battery PNP0C0A:00 00000080 00000001
ac_adapter ACPI0003:00 00000080 00000000
ibm/hotkey LEN0268:00 00000080 00006030
thermal_zone LNXTHERM:00 00000081 00000000
-- docked --
battery PNP0C0A:00 00000080 00000001
ac_adapter ACPI0003:00 00000080 00000001
ibm/hotkey LEN0268:00 00000080 00006030
thermal_zone LNXTHERM:00 00000081 00000000
Kernel: 5.10.13-arch1-2
The dock --set command work great. I'm just not sure why it doesn't auto-detect docking. Would appreciate it if you could point me in the right direction.