LiteSpeed always use the first context matched, in our case, without specifying the location, that "/login" context was associated with login/ directory, trailing slash was added automatically because of that.
When there are multiple possible choices, LSWS always use the first match, and...