I think I can add a little bit from my experience here ... I cannot download the files you provided, but I think I know what you speak about!
You have to understand first, how any legato script works:
The first not you play in any legato line is a sustain sample, in the case of your SF performance legato patch, this may even be layered with a staccato or spiccato sample providing a more pronounced attack, depending on the velocity you played that note with.
This first note is pretty much instantaneous, only delayed by the buffer size of your host and the latency of your sound system.
Then, any notes following played overlapping with previous ones are triggering the legato script to do its job. That again means, they trigger a transition sample between the previous and next sample. Depending on how the particular patch works and the transition sample(s) provided, this transition causes more or less the perception of this note sounding late! There are so called fast legatos, which cause very little delay as there are transitions which cause quite a lot of delay, like slurred legatos or even portamentos.
That is why it will always sound wrong, if you align all notes to the grid, especially with fast passages and even mor so with those, where you leave gaps in between certain groups of notes (to simulate bow changes).
Instead, try the following:
1) Quantize all notes to the grid (or, to leave certain human element, play as rhythmical as possible to make it sound right on a piano VST).
2) For some legato scripts, either the velocity of the legato notes or the speed of succession may have an influence on what legato transition is being triggered, so, for a first test, I would stick to equal velocities on all notes and a continuous pace, like semiquavers for the full line.
3) Shift select all notes, that trigger a transition, but leave all first notes out!
4) Move those selected notes a little bit earlier than the grid. Listen, how it sounds and look for the sweet spot, where it sounds right. This is the hard part, as you need a good rhythmic sense and patience to find that spot.
Unfortunately, depending on the library, there may also be things like transitions of individual notes, that sound more delayed than others, which is particularly notable during repetitive phrases (Ostinati).
More so, this proves my point, that legato patches are very often impractical to be played live! A solution would be, to have a playable patch (with less realistic transitions, but no delay) and a good sound version (with realistic transitions and an articficial delay on EVERY note to give the script a little time to think ahead, when to trigger transitions). This could be within the same patch and remotely switched via CC. In other words, you would just play in and then switch and put a negative delay on the whole track. To my knowledge, CSS has a feature like that, but I haven't bought it thus far.
However, be aware there is a certain problem, no developer could possibly solve, which is that fact, that a script can not look into the future!
In other words: realistic sounding patches will always have problems like you describe or require general latency, while playable patches will always have limitiations on the sound regarding transitions. Less a problem with slow playing, very much so with quick playing!
I hope this helps!