Hi, thanks for your feedbacks !
The real JP8 does not have a cycling voice allocation, it is kind of a reassign mode. If possible, it will use the same note for a given note. That's why if you play play three times the same note it will only use one voice, but if you play three different notes it will use 3 different voices. This voice allocation method is very logical with the particular JP8 envelopes. The envelope's level are never reseted to 0 when a note is retriggered, the envelope will begin its attack from its current output level.
For example if you have a long attack and a long release, if you play one note, release it and then play the same note before the release time has ended, you will notice that the envelope starts its attack from the current release level and not from 0 (leading to a shorter attack).
That's why the voice allocation is not cycling, to benefit from the property of the envelopes, which can be really useful especially for pad sounds.
(If you want to highlight this behavior, I suggest that you try modulating the pitch with envelope 1 set with a long attack and a long release, then play one note and repeat it).
You are right, the voice allocation works always like this except when arpeggiator is enabled.
As for the Poly 2 mode, that's how our JP8 unit is behaving and we decided to keep it the same way. And yes indeed the real unit does not steal voices while all 8 notes are pressed. But we saw this as a limitation and decided to allow voice stealing