Is the below a bug or how it is supposed to work?
My test involved two sets of postings – one before Additional Reporting Currency was enabled (green) – and one after Additional Reporting Currency was enabled (blue).

The 1st set of G/L entries looks correct to me – but what you will notice on the 2nd set of G/L Entries is that the Source Currency Code is being populated with the Additional Reporting Currency of USD on the system-created direct cost entries. In addition, the Source Currency Amount is populating with the USD amount (also populated in the Additional Currency Amount field).
These system-created direct cost postings are all inventory postings – so they shouldn’t have any Source Currency Code populated – and should all transact using local currency only.