Several bugs were fixed in the CSV and TSV formats and the performance was dramatically improved between version 10 and 12. Leading and trailing spaces that are part of non-quoted fields are ignored as this is by far the most common behavior and expected by many applications. The old implementation of CSV was based on the Table format, so you can get that behavior bug for bug by doing:
ImportString[" 2e54295\t 0", "Table", "Numeric" -> False, "FieldSeparators" -> "\t"] // InputForm
If it is possible to rewrite your CSV files to quote these fields, then you can still use the CSV format and preserve spacing:
ImportString["\" 2e54295\"\t\" 0\"", "TSV", "Numeric" -> False] // InputForm