Neither Gentoo's nor Alpine's solution fixed the issue. In my boot-user@ module, XDG_RUNTIME is set to yes. My user is part of the video group. The only thing I wasn't able to do was add my user to the seatd group, and as far as I can tell, that group doesn't actually exist.
I'm going to leave my root services here, as there might be a service I'm missing.
Name : boot
Initialized : yes
Enabled : no
Starts after : None
Current : no
Allowed : root
Symlinks : svc->source db->source
Contents : /
|-(214,Enabled,classic) tty-earlier@ tty12
|-(up,Enabled,oneshot) system-hostname
|-(up,Enabled,oneshot) mount-run
|-(up,Enabled,oneshot) populate-run
|-(up,Enabled,oneshot) mount-tmp
|-(up,Enabled,oneshot) populate-tmp
|-(up,Enabled,oneshot) mount-proc
|-(up,Enabled,oneshot) mount-sys
|-(up,Enabled,oneshot) populate-sys
|-(up,Enabled,oneshot) mount-dev
|-(up,Enabled,oneshot) mount-pts
|-(up,Enabled,oneshot) mount-shm
|-(up,Enabled,oneshot) populate-dev
|-(up,Enabled,oneshot) mount-cgroups
|-(up,Enabled,bundle) 00
|-(up,Enabled,oneshot) system-hwclock
|-(up,Enabled,oneshot) modules-kernel
|-(up,Enabled,oneshot) system-random
|-(up,Enabled,oneshot) modules-system
|-(up,Enabled,oneshot) system-sysctl
|-(262,Enabled,longrun) udevd-log
|-(441,Enabled,longrun) udevd
|-(up,Enabled,oneshot) udevadm
|-(up,Enabled,oneshot) system-fontnkey
|-(up,Enabled,bundle) all-Mount
|-(up,Enabled,oneshot) system-fsck
|-(up,Enabled,oneshot) mount-fstab
|-(up,Enabled,bundle) all-System
|-(up,Enabled,oneshot) mount-rw
|-(up,Enabled,oneshot) mount-swap
|-(up,Enabled,oneshot) mount-netfs
|-(up,Enabled,oneshot) local-loop
|-(up,Enabled,oneshot) local-sethostname
|-(up,Enabled,oneshot) local-time
|-(up,Enabled,oneshot) local-authfiles
|-(up,Enabled,oneshot) local-tmpfiles
|-(up,Enabled,oneshot) local-dmesg
|-(up,Enabled,bundle) all-Local
|-(up,Enabled,oneshot) all-Runtime
|-(up,Enabled,bundle) All
|-(1633,Enabled,longrun) tty-rc@ tty1
|-(1632,Enabled,longrun) tty-rc@ tty2
`-(up,Enabled,module) boot@ system
Name : root
Initialized : yes
Enabled : yes
Starts after : None
Current : yes
Allowed : root
Symlinks : svc->source db->source
Contents : /
|-(1216,Enabled,longrun) dbus-log
`-(1220,Enabled,longrun) dbus
Name : network
Initialized : yes
Enabled : yes
Starts after : root
Current : no
Allowed : root
Symlinks : svc->source db->source
Contents : /
|-(1232,Enabled,classic) wpa_supplicant-log
|-(1233,Enabled,classic) wpa_supplicant
`-(up,Enabled,oneshot) ufw
Name : wireless
Initialized : yes
Enabled : yes
Starts after : root network
Current : no
Allowed : root
Symlinks : svc->source db->source
Contents : /
|-(1328,Enabled,classic) bluetoothd-log
|-(1327,Enabled,classic) bluetoothd
|-(1343,Enabled,longrun) connmand-log
`-(1348,Enabled,longrun) connmand
Name : boot-user
Initialized : yes
Enabled : yes
Starts after : root network wireless
Current : no
Allowed : root
Symlinks : svc->source db->source
Contents : /
|-(1400,Enabled,longrun) seatd-log
|-(1412,Enabled,longrun) seatd
|-(1403,Enabled,longrun) greetd-log
|-(1418,Enabled,longrun) greetd
|-(up,Enabled,module) display-manager@ greetd
|-(up,Enabled,oneshot) setenv@ username
|-(1401,Enabled,longrun) svscan@ username-log
|-(1442,Enabled,longrun) svscan@ username
|-(up,Enabled,module) scandir@ username
|-(up,Enabled,oneshot) mount-run@ username
|-(up,Enabled,module) console-tracker@ seatd
`-(up,Enabled,module) boot-user@ username
Name : thermal
Initialized : yes
Enabled : yes
Starts after : root network wireless boot-user
Current : no
Allowed : root
Symlinks : svc->source db->source
Contents : /
|-(up,Enabled,oneshot) tlp
`-(up,Enabled,oneshot) thermald