In CRM 2016 with SP1, it seems that a “bug” has been introduced where the price of an order product added from the catalog (an “existing product”) cannot be changed. This was not the case in earlier versions.
A field on the Order Product form, named Pricing (internal name ispriceoverridden) determined whether the price per unit can be changed. However, on the Order Product form this field is set to read-only with a value of “Use Default”; so there is no way to change the value to “Override Price”.
For now, it seems the only way to get a non-default price for a product is to set the price in the opportunity and then follow the quote, order process.
Others have reported this issue, for example https://community.dynamics.com/crm/f/117/t/200698