Actually, typing this out led me to find a fix for the multiscreen workspace issue I was having. Basically the solution is to first assign the workspaces to monitors,
and then bind the hotkeys to switch both workspaces at once, with the final binding being the one you land at.
If someone wants to steal my homework, this is what I did
# use `hyprctl monitors` to get your monitors' names, replace DP-3 and HDMI-A-1 as appropriate
workspace = 1, monitor:DP-3, default:true
workspace = 2, monitor:HDMI-A-1, default:true
workspace = 3, monitor:DP-3
workspace = 4, monitor:HDMI-A-1
workspace = 5, monitor:DP-3
workspace = 6, monitor:HDMI-A-1
workspace = 7, monitor:DP-3
workspace = 8, monitor:HDMI-A-1
unbind = SUPER, code:10
unbind = SUPER, code:11
unbind = SUPER, code:12
unbind = SUPER, code:13
unbind = SUPER, code:14
unbind = SUPER, code:15
unbind = SUPER, code:16
unbind = SUPER, code:17
bindd = SUPER, code:10, Switch to workspace 1, workspace, 2
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
bindd = SUPER, code:11, Switch to workspace 2, workspace, 1
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
bindd = SUPER, code:12, Switch to workspace 3, workspace, 4
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
bindd = SUPER, code:13, Switch to workspace 4, workspace, 3
bindd = SUPER, code:13, Switch to workspace 4, workspace, 4
bindd = SUPER, code:14, Switch to workspace 5, workspace, 6
bindd = SUPER, code:14, Switch to workspace 5, workspace, 5
bindd = SUPER, code:15, Switch to workspace 6, workspace, 5
bindd = SUPER, code:15, Switch to workspace 6, workspace, 6
bindd = SUPER, code:16, Switch to workspace 7, workspace, 8
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
bindd = SUPER, code:17, Switch to workspace 8, workspace, 7
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8