how well can it handle an AD that is close to 50GB in size?
The performance of Adaxes almost isn't affected by the size of your AD.
Adaxes acts as a proxy between you and AD, which means that each operation is preprocessed by Adaxes and then executed in AD.
The amount of time taken by the preprocessing depends only on the amount of objects affected by the operation rather than on the whole amount of objects in your directory.
Does Adaxes update ACL's on the objects?
No, Adaxes controls access to AD resources via Security Roles, and native AD permissions are not modified.
Does it basically store an entire copy of the forest (or domains) in the database installed by the product?
No. The Configuration Storage Server installed with the product stores only configuration objects of Adaxes.