It seems as if the message I described in dmesg was actually correct: It had to do with the power demand from a USB-C device.
Originally, I had plugged the device into a USB expansion port that I happened to have on my keyboard, because it was more convenient than reaching under my desk. However, when I plugged the device directly into a USB-A port on my PC and reset it, it worked fine, with this output in dmesg:
[ 1306.112870] usb 3-4: New USB device found, idVendor=2886, idProduct=002f, bcdDevice=42.01
[ 1306.112873] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1306.112875] usb 3-4: Product: Seeeduino XIAO
[ 1306.112876] usb 3-4: Manufacturer: Seeed Studio
[ 1306.112877] usb 3-4: SerialNumber: DC85AFAA503058414E2E3120FF0B1801
[ 1306.117062] cdc_acm 3-4:1.0: ttyACM0: USB ACM device
[ 1306.117659] usb-storage 3-4:1.2: USB Mass Storage device detected
[ 1306.117990] scsi host7: usb-storage 3-4:1.2
[ 1306.118770] hid-generic 0003:2886:002F.0005: hiddev1,hidraw4: USB HID v1.00 Device [Seeed Studio Seeeduino XIAO] on usb-0000:00:14.0-4/input3
In addition, a drive named “Arduino” appeared in my Files window, and I was able to drag the uf2 file there.
-Kevin