In SSIS I have a Data Flow that looks like the following:

To change the numeric data type precision I did the following.
- Ensure the destination (DST_OLEDB Extract did_ms_contracts_v) has the desired precision
- Change the properties on the data source to ValidateExternalMetadata = False

- Open Advanced Editor on the data source
- Change the precision of the desired columns in OLE DB Source Output – External and Output columns (Might be able to get away with Output only, but I have not tested that)

- Close the editor
- Reopen the Advance Editor on the data source
- Choose Yes to fix errors
- Check the Error Output for proper precision on Columns
- Close the window
- Verify metadata on Data Flow path as it travels towards the data destination
This seems to be the magic formula.