Hi,
The missing piece is the file path.
In the Export CSV action, under the columns, there are two fields: an email address and a file path. The action only emails the CSV when both are filled in. With the email set but the path left empty, nothing is sent.
That is also why it works when you process orders by hand in the admin but not on a real order. From the admin the action streams the CSV straight to your browser as a download, so no path is needed. When it runs automatically after an order is confirmed on the front end there is no browser to download to, so it has to write the file to the path first and then attach that file to the email. No path means no file, and so no email.
So fill in the path field, for example:
exports/austpost_{time}.csv
The {time} token keeps each file unique. Make sure that folder exists and is writable. Leave your email address in the email field, and from then on the CSV is written there and emailed to you on every confirmed order.
One thing to check while testing: your trigger is "After an order is confirmed", so the order has to actually reach the Confirmed status, meaning payment is completed. An order left in Created, an unpaid bank transfer for instance, will not fire it.