I suspect that the Array.sub function has this order of arguments for compatibility reasons. The order is the same in OCaml version which is what F# started with a long time ago. This is a bit unfortunate, because it means that the function is not very well suited for piping.
I would probably define a new function that just reverses the order of arguments. Note that you can define your own Array module and so you'll see it along with all other array functions:
module Array =
let subArray lo hi arr = Array.sub arr lo hi
Now you can use Array.subArray in a pipeline without using other pipeline-like operators that (in my humble opinion) make code much harder to read:
let something =
[| 0 .. 99 |]
|> Array.map (fun x -> x * 2)
|> Array.subArray 5 10