Is there any way of defining a display order of components when a mobile view is being used?

Unfortunately this is not possible at the moment. The order is based on the order (top-to-bottom, left-to-right) that your components are layed out on the canvas.

What you can do as a workaround is have a desktop version of the dashboard as one Embeddable, and then a separate Embeddable for the mobile view. Then serve up the right Embeddable depending on the view