varorder internally calls reorder.mpoly(), but this is not the expected behavior. varorder, in mpoly(), sets intrinsic variable order, i.e. the order of the variables in then term, not the order of the terms themselves.
library("mpoly")
mp("x y + y x^2")
#> x y + x^2 y
mp("x y + y x^2", varorder = c("y", "x"))
#> x^2 y + x y
Created on 2019-03-18 by the reprex package (v0.2.1)