I accept Wikipedia's definition as a fine one and use Wikipedia specifically as something that represents a reasonably mainstream opinion on the matter.
VM instructions vs. CPU instructions is not irrelevant when the VM can only execute instructions one-by-one and the CPU can execute instructions on multiple cores at once (ignoring vector operations for simplicity).
But what's more is that that distinction between VM and CPU instructions is irrelevant, because in common use (on EVE Online, the people who pretty much keep Stackless going), tasklets are not pre-empted at all, but are instead cooperative, handing off control flow only when they explicitly do so (such as sending or receiving on a channel, sleeping, or terminating). Tasklets can be preempted after a time, and if you're using them that way, then okay, I accept that it's as concurrent as anything on one CPython VM is, but you lose a lot of the benefits of not dealing with locking (as well as a few other things) when you do this, so it's my understanding that it's not the preferred way to use Stackless.
So, yes, you can use threadlets preemptively and then I agree that you can kinda call them "concurrent" and be correct, but by correcting people when they say it's not concurrent, you're bringing more heat than light, as in general use, it's not concurrent, and if you use the preemption capabilities in Stackless, then you're not following the Stackless best practices and you're still not going to get any more use out of your CPU's extra cores, which is what most people are looking for in Stackless (and which sadly they won't find).