Why don't you use Dataflows for data type transformation ?
Inside Data Flows, before your Copy Activity, explicitly cast your fields to the required data types using derived columns or data type transformation features. Although the CSV source treats everything as a string, within a Data Flow, you can cast these strings to the appropriate data types needed by Salesforce.
In this case you can preview the data to check if the transformations are correct in Data Flow and debugging it to confirm the output types match Salesforce expected types.