Inserting sorted results to another table not working
Short answer:  Use ORDER BY on a SELECT if you want a particular order.

Long answer:

Without an ORDER BY clause on SELECT, the engine is free to order the results in any way it feels like.  This is what you need:

select * from ksm_mutasi_inv_benang
     ORDER BY value_date


But digging a little deeper...  You are copying id from one table to another.  Presumably id is/was AUTO_INCREMENT and the PRIMARY KEY in the source table.  Did you really need to copy it over?  If not, some other ordering may have occurred.

Further...  Using ORDER BY in the INSERT..SELECT was wasted effort since the target table might have its own concept of ordering.  In this particular (and uncommon) case, you have UNIQUE KEY idx_id (id), which was treated as the PRIMARY KEY.  Then, in InnoDB, the data is ordered by the PK.  So, the order of the data in the table is by id.  And the SELECT without an ORDER BY (or WHERE) will simply read the data in PK order.