When running the currency revaluation for the general ledger, it is only possible to separate the accounts to which the currency profit/loss is posted to is only able to control per ledger or per currency.
However, it difficult to fulfil the IAS 21 requirements on how to handle exchange differences.
The IFRS (IAS 21) states that you should report exchange differences differently depending on if they arise from monetary or non-monetary items. Furthermore, exchange differences they should even be posted to different accounting classes (equity vs profit or loss) depending on the source (monetary/non-monetary).
The only way to control this would be if it was possible to set the unrealized/realized profit/loss accounts for currency revaluation on an account level but as this is not possible in D365 for Operations the only advice we can give the customer is to either treat revaluation manually for one of the item types, manually reverse and re-post part of the transaction or run the revaluation multiple times and between the runs change the setup on the ledger/currency back and forth.
However, due to the massive manual work this will cause the customer and the fact that it is an IFRS requirement driving this, this should be consider as a new funciotnality for future versions.