I tightened everything down and it helped a little. Here's a better view of a cube I printed after tightening:
Gantry Problem 2 half size.jpg
Here's a single layer:
Gantry Problem 3.jpg
So it isn't a "symmetrical" problem...

These are the settings in my config.g file, if you'd like to take a look.

Code:
; Configuration file for Duet WiFi (firmware version 2.03)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.2 on Tue Nov 05 2019 14:13:07 GMT-0800 (Pacific Standard Time)

; General preferences
G90                                                ; send absolute coordinates...
M83                                                ; ...but relative extruder moves
M550 P"Ender 4 CoreXY"                             ; set printer name

M667 S1                                            ; select CoreXY mode

; Network
M552 S1                                            ; enable network
M586 P0 S1                                         ; enable HTTP
M586 P1 S1                                         ; enable FTP
M586 P2 S0                                         ; disable Telnet

; Drives
M569 P0 S1                                         ; physical drive 0 goes forwards
M569 P1 S1                                         ; physical drive 1 goes forwards
M569 P2 S1                                         ; physical drive 2 goes forwards
M569 P3 S1                                         ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3                                   ; set drive mapping
;M350 X256 Y256 Z256 E256 I0                            ; configure 256x microstepping without interpolation
;M92 X1288.48 Y1289.6 Z6735.68 E1376                ; set steps per mm (256x microstepping)
M350 X32 Y32 Z32 E32 I0                            ; configure 32x microstepping without interpolation
M92 X161.06 Y161.20 Z841.96 E172.00                ; set steps per mm (32x microstepping)
;M566 X900.00 Y900.00 Z12.00 E120.00                ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z600.00 E1500.00          ; set maximum speeds (mm/min)
;M201 X3000.00 Y3000.00 Z3000.00 E3000.00           ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I11                       ; set motor currents (mA) and motor idle factor in per cent
M84 S30                                            ; Set idle timeout

; Axis Limits
M208 X0 Y0 Z0 S1                                   ; set axis minima
M208 X215 Y210 Z310 S0                             ; set axis maxima

; Endstops
M574 Y1 S0                                         ; set active low and disabled endstops
M574 X1 Z1 S1                                      ; set active high endstops

; Z-Probe
M558 P5 H5 F200 T6000                              ; set Z probe type to switch and the dive height + speeds
G31 P500 X30 Y0 Z2.53                              ; set Z probe trigger value, offset and trigger height
M556 S50 X0 Y0 Z0                                  ; set orthogonal axis compensation parameters
M557 X50:205 Y10:200 S18                           ; define mesh grid

; Heaters
M307 H0 B0 S1.00                                   ; disable bang-bang mode for the bed heater and set PWM limit
M305 P0 T100000 B4138 R4700                        ; set thermistor + ADC parameters for heater 0
M143 H0 S110                                       ; set temperature limit for heater 0 to 110C
M305 P1 T100000 B4138 R4700                        ; set thermistor + ADC parameters for heater 1
M143 H1 S300                                       ; set temperature limit for heater 1 to 300C

; Fans
M106 P0 C"Nozzle" S0 I0 F500 H-1                   ; set fan 0 name, value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 C"Heatsink" S0 I0 F500 H1 T150              ; set fan 1 name, value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 C"LEDs" S0 I0 F3000 H-1                    ; set fan 2 name, value, PWM signal inversion and frequency. Thermostatic control is turned off

; Tools
M563 P0 D0 H1 F1:0                                 ; define tool 0
G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C

; Custom settings
M558 Z1 I1                                                  ;Invert Z probe logic
M307 H1 A528.0 C260.4 D7.5 S0.80 V24.2 B0          ;Hotend PID tuning
M307 H0 A111.0 C1272.4 D16.3 S1.00 V23.7 B0        ;Bed PID Tuning
;M376 H3                                            ; Hnnn Height (mm) over which to taper off the bed compensation
M929 log.txt                                                   ;Enable Event Logging
M566 X200 Y200 Z24.00 E150.00              ; set maximum instantaneous speed changes (Jerk) (mm/min)
M201 X2875 Y2875 Z1200 E3000.00           ; set accelerations (mm/s^2)
;M203 X6000.00 Y6000.00 Z720.00 E1200.00 ; set maximum speeds (mm/min)    (Defaults)

; Miscellaneous
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss