Scribunto string comparison works case insensitive while the standard Lua case sensitive.
Scribunto debug console on various WMF wikis:
print( ("bar"):byte(1, -1) ) print( ("Foo"):byte(1, -1) ) print( "bar" < "Foo" ) 98 97 114 70 111 111 true
If it is "feature", then it is nowhere documented and I don't see any reason for it when it's trivial to use [mw.u]string.lower() for case-insensitive comparison.