On a previous laptop I used i3, then after a few years on Windows, I returned to Linux on my current laptop and decided to try Sway, and now I’ve been using it for almost a year and a half, but I set up i3 somewhere along the way too, which I have used when I needed screen sharing on Zoom.
I much prefer Sway. It handles output management much better than i3 (because it’s integrated and integrated well rather than being entirely up to you with xrandr—so this probably wouldn’t apply to full desktop environments like GNOME or KDE), supports mixed-DPI environments, properly supports high-DPI (though I’ve also been using patches for fractional scaling since I want 1.5×), avoids all tearing (which was what really surprised me when I first ran i3, I’d forgotten what the tearing was like), and supports my XF86AudioMicMute key (key code 256; it took a little effort to get it to work, involving dumping the xkb keymap and adding in a suitable entry, but I think that it’s literally impossible to support under X, though you may be able to remap it to a different key like F20 in some way at a lower level, but my attempts at that failed).
It’s not been without its troubles. Screen sharing is only possible at the screen granularity rather than individual windows, and I think Zoom is still broken because they did things stupidly in the past (using a GNOME screenshot API many times per second instead of the compositor-neutral screen sharing API that did exist when they implemented their thing) and are still unravelling them. I’ve also had a couple of apps require tweaks to unbreak, e.g. https://github.com/CadQuery/CQ-editor/issues/266, if you build it with a version of Qt that supports Wayland (the default, though their first-party distribution doesn’t), you have to explicitly tell it to use xcb instead of wayland or it crashes on startup. But honestly that’s all I can think of.
Oh, one more thing, I guess. Cursor sizing is comically broken in Sway. With `seat seat0 xcursor_theme Adwaita 96`, I get cursors at at least five different sizes when hovering over different windows. Some ignore it and use the default size multiplied by the scaling factor. Some use it but ignore the scaling factor. Some use it and multiply by the scaling factor. Some use it and multiply by the scaling factor rounded up to the next integer. Some do different things altogether. I haven’t diagnosed it all yet.