It seems like the error stems from the fact that SIFT tune its octave automatically, while ORB use a fixed umber of octaves.
A workaround might be either to tune the nlevels params of the ORB class according to the maximal detected octave prior to descriptor extraction.
Alternatively, you may reject key points with octave larger than ORB's nlevels.