А на низком уровне разница есть в реализации?
если образ в виде файла и используется обычное файловое хранилище (не shared), то выглядит это так:
non persistent - при создании виртуалки файл копируется по сети с управляющего сервера на нужную ноду и хранится там. при удалении виртуалки, файл удаляется.
persistent - при создании виртуалки файл копируется по сети с управляющего сервера на нужную ноду и хранится там. А в системе помечается, как занятый. при удалении виртуалки, файл копируется обратно на управляющий сервер и помечается, как свободный.
Имхо, накрутили терминов поверх простой логики.