You can fire every unit in your army that is allowed to fire.
There is nowhere in the rules obligating you to fire certain units in any certain order relative to each other.
So yes, in the above example you could fire;
And be totally legit.
And, yes, it is best to fire the lances until you get the mooks and then gun them down with the passengers.
I will say, that I do use a number of marking methods to showcase to my opponent which unit has or has not fired because I do bounce around a lot during my shooting phase - but as long as you're clear to your opponent about what is firing and make it clear that you aren't illegally firing anything twice it should all be good.