Try initiating the SMS in Messages instead of Contacts. In every instance I've tried directly in Messages new message composition mode (pencil-on-paper icon), typing the name, numbers flagged as mobile do sort above other numbers for the same contact, no matter the order on the contact card.
On the other hand, if I start from Contacts, locate the contact, and tap the Send Message button, that list is in the order on the contact card.
By the way, a phone number flagged "business," "home," or "other," is not necessarily a landline. It is a hint, but not a clear indication. With number portability, today's landline number may be tomorrow's cell number.