Sway (and most other tiling) WMs have the same behaviour; i.e., each monitor has its own unique set of workspaces instead of one workspace being shared across monitors. Workspaces not being persistent also messed with me, I have eight workspaces all divvied up for exact purposes and sometimes the ones inbetween are empty.
I use labwc currently which has the ideal workspace behaviour (one workspace shared).