I think you’re right, that must be a bug.
Haven’t been able to recreate it in a new project, though.
Edit: hmm… I think it might have to do with what is considered the initial note. I have always assumed that, when there has been no prior note and a Gxx command is encountered, the note will pick/use the value at that position. At least, this is what happens in 3.0 (I just checked).
But in 3.1, it would seem that the initial note is in fact C-4 ?
To confirm, render the slices and adjust the keyzones so that the sample mapped to the G3 is spanning the C4.