Generally speaking it is a bad idea to change the semantic meaning of a
business document, in UBL 2.0 and UBL 2.1 the FreightInvoice is the best
for freights.
Technically speaking the Invoice and FreightInvoice differs just for one
aggregate "Shipment" which is exaclty containing he requirements for
freight practices.
I add also that if anyone should choose an invoice for advanced
cross-border that document is the FreightInvoice.
OIOUBL is not a good reason for not using it if you are not implementing
their profile...
In your sample you can choose between filling up teh TaxCategory inside
the AllowanceCharge (for simple cases) or the TaxCategory available inside
TaxTotal/TaxSubTotal (for more complex cases with subtotals)
The TaxTotal aggregate has the same structure of the one you find on the
line items.
best regards