On Linux, online installer Qt 6.10.0 or 6.8.1, with bundled libicui18n.so.73 the result is all -1 as expected.
With Qt 5.15.2 and libicui18n.so.56 on the same system I have this alternate version:
s1= "a"
s2= "o"
s3= "o"
s4= "z"
s5= "å"
s6= "ä"
s7= "ö"
QString::localeAwareCompare( s1, s2 )= -1
QString::localeAwareCompare( s2, s3 )= -1
QString::localeAwareCompare( s3, s4 )= -1
QString::localeAwareCompare( s4, s5 )= 1
QString::localeAwareCompare( s5, s6 )= -1
QString::localeAwareCompare( s6, s7 )= -1
So even older ICU versions display variation.
Edit: Given the comments on the bug, I don't think this will actually help unless you use an ICU-enabled build of Qt.