SQL Server 2016 - Disparity Between View Definition and View Design
The view will run according to it's metadata, which is no longer correct. 

If you run sp_refreshview, it should work correctly. 

sp_refreshview  @viewname =  'TestView' ;

select * from TestView ;

+------+------+------+------+
| col1 | col2 | col5 | col4 |
+------+------+------+------+
|    1 | abc  | NULL | ABC  |
|    2 | def  | NULL | DEF  |
|    3 | ghi  | NULL | GHI  |
|    4 | jkl  | NULL | JKL  |
+------+------+------+------+