You can always loop over all units and run systemctl --user show -p Transient --value on each.
systemctl --user list-units --full --no-legend --no-pager --all |
while IFS=' ' read -r u rest; do
[ "$(systemctl --user show -p Transient --no-pager --value -- "$u")" = yes ] &&
printf '%s\n' "$u"
done
A user-unit-prop-grep script could be written as:
#! /bin/sh -
systemctl --user list-units --full --no-legend --no-pager --all |
while IFS=' ' read -r u rest; do
systemctl --user show --no-pager -- "$u" |
grep -H --label="$u" "$@"
done
And then to list units with Transient=yes:
user-unit-prop-grep -lx Transient=yes
Or print the value of the Transient property alongside each unit name:
user-unit-prop-grep -Po '^Transient=\K.*'
That's quite slow as it runs several commands per unit.