Looks like I got it to work! I installed gdm (GNOME Display Manager), so I have a nice login screen instead of the Arch tty. I added exec-once = hypridle to my hyprland.conf. Altogether, my hypridle.conf looks like this now:
#hypridle.conf
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = hyprlock # lock before suspend.
after_sleep_cmd = systemctl --user restart hyprsunset # make sure hyprsunset reloads after opening laptop
# to avoid having to press a key twice to turn on the display.
}
After a couple more tests, everything works as I want it to! After opening my laptop, the new hyprsunset profile might take about 30 seconds to kick in, but it appears to work.
Thanks for the help!