expandAll does not invoke any callback methods.

It shows only the nodes that are defined currently for the tree

See for example sample page csp/samples/ZENTest.DynaTreeTest.cls

Execute zenPage.getComponentById( "tree").expandAll(true); from the Developer console. Note, that no nodes are expanded.
Now click on the Vegetable -> Fruit, then collapse them and call zenPage.getComponentById( "tree").expandAll(true); again. Now these nodes are shown. However, children for Animal and Mineral are still not shown, because they are not populated yet

Audit does not happen automatically. For some record to appear in the Audit log you need to call the following method:

Do $SYSTEM.Security.Audit(EventSource,EventType,Event,EventData,Description)

So in order for the REST-calls of the REST API to be audited you need to add the call above in the REST API

EventSource in this case is anything you specify when calling the Audit() method. Later, in the Audit Database UI you can filter by this EventSource

https://docs.intersystems.com/iris20242/csp/docbook/DocBook.UI.Page.cls?...

IRISReference works fine when a method returns one scalar value in the output variable. %SYS.Namespace:ListAll however populates a multidimensional array in the output. And they are not supported on the .NET side.

You need to write some wrapper in the ObjectScript to conver this output array into something that .NET client side understands.