I think the post is missing
services.xserver.windowManager.default = "i3";
next to
services.xserver.desktopManager.default = "none";
which is required since nixos/displayManager: introduce defaultSession by hedning · Pull Request #53843 · NixOS/nixpkgs · GitHub.
Actually, the two options were turned into one:
services.xserver.displayManager.defaultSession = "none+i3";
We might want to improve the error message when only desktopManager.default is set, though.