There’s also the “vm-config” way, see this guide.
Note that the payload can be base64/base32 encoded (or uuencoded, old-school; or xxd etc.) so you can transfer anything up to a few hundreds of kilobytes** and decode on the target AppVM/DispVM.
** if memory serves well. I tested and used this method in R4.2 and did not re-use the trick in R4.3
EDIT: fixed typo and added base64 because that’s what I meant and used.