This is a known issue since version 11 or earlier on Quotations, Sales Orders and Sales Invoices. Purchase orders are OK. If you go to print format for any of the ones with problems, for example Quotation:
click on Edit Format you see the items are in the Item (table) part and there is a button for select columns
notice that what is checked and has a width value is Stock UOM not UOM, explaining why what is printed is always the stock UOM not the UOM chosen for that transaction
What is weird is that even after having unchecked Stock UOM, checked UOM and given it a width what shows up on actual print is still stock UOM. Looked at Purchase order format (which works) items column and set Sales Order items columns, order, width identical, but still no luck. ERPNext is ignoring entries in select columns for child tables on selling print formats. Have not been able to figure out why.