we can see in the inners of the code furrr:::furrr_template that there is code that arranges the collated result
if (!is.null(order)) {
order_inv <- vector("integer", length = n)
idx <- seq2(1L, n)
order_inv[.subset(order, idx)] <- idx
out <- out[order_inv]
}
my example also demonstrates that this must be the case, that ordering is happening on final collation, because collation can only happen when every chunk is processed. And then either the quickest chunks are at the beginning and the later ones at the end,[i.e. it would be easy to see that it became disordered), or an order is applied to make them match with how they were requested, which is the case.
I suppose I would rely on it, and if I found there was a bug, I would file that as an issue.