Nice find @Francisca this looks like a bug to me! I can confirm the same behavior on my machine running v1.7.5 RPM. Without the fill it does the right thing, showing the correct values. I think we should submit this in github!
It gets even more fun when you do this:
select last(sp) from event where time > now() - 15m group by time(1m),device fill(previous) order by desc