Since both lists and ranges are represented by the same JavaScript type, there's a potential ambiguity in using a list domain to specify a categorical scale – when there are exactly two numerical values, then I think Plot would still infer a linear scale.
An alternative possibility is to specify that the color scale is categorical (type: 'categorical'). Btw, in this plot I noticed that there are actually 3 cars listed with 5 cylinders, which I think are being quietly filtered out of the current chart by the domain restriction.
If this was all intentional, then please ignore! :)