With subxt is straight-forward as you can access the types by generating them using metadata and use them in your fn arguments but in polkadot.js is kinda not straight forward as where and how the metadata types are being generated and used.
Example,
Referenda.submit() // the arguments are PalletCustomOrigins,DispatchTime,Preimage