There is no property list file entry in dictionaries so, what you got seems logical.
Here is a quick and dirty way to get the wanted path.
set p2d to path to desktop folder
set plistName to "myPlist"
set un_record to {machin:"Truc"}
set path_to_my_plist to my makeNewPlistFile(p2d, plistName, un_record)
on makeNewPlistFile(folderAlias, filename, initialRecord)
set newFileName to (folderAlias as text) & filename & ".plist"
tell application "System Events"
make new property list item with properties {kind:record, value:initialRecord}
make new property list file with properties {contents:the result, name:newFileName}
--> «class plif» "/Users/lutherfuller/Desktop/TEST_FILE.plist"
try
the result as text
on error errMsg number errNbr
set path_to_plist to (item 2 of my decoupe(errMsg, quote)) as alias
end try
end tell
return path_to_plist
end makeNewPlistFile
--=====
on decoupe(t, d)
local oTIDs, l
set oTIDs to AppleScript's text item delimiters
set AppleScript's text item delimiters to d
set l to text items of t
set AppleScript's text item delimiters to oTIDs
return l
end decoupe
--=====