home.sessionVariables (XCURSOR_THEME/XCURSOR_SIZE from home.pointerCursor) land in hm-session-vars.sh, which only a login shell sources. UWSM starts the graphical session without it, so Hyprland never saw the theme and drew its built-in cursor instead of the configured Bibata-Modern-Ice. Declare the cursor through Hyprland's own env directive, read at compositor startup regardless of the shell profile, sourced from config.stylix.cursor so the theme and size stay defined in one place.