There is a difference between the VM harddisks and the guest OS partitions (C, D and M).
To assign harddisks to your VM, you can indeed use the DiskGB parameter on the New-VM cmdlet.
The parameter expects an array of values, and the cmdlet will assign a harddisk to the VM for each number you pass on the DiskGB parameter.
Assigning drive letters in the guest OS, is independent of assigning harddisks to the VM.
The guest OS, obviously Windows in this case, has an algorithm to assign default drive letters to the attached disks.
The default would be that these harddisks get the drive letters C, D and E.
You can change the drive letters with a script that has to run inside the guest OS.
This can be done remotely (over the network) or through the Invoke-VMScript cmdlet.
Such a script could look like this
$eDrive = Get-WmiObject -Class win32_volume -Filter “DriveLetter = ‘E:'”
Set-WmiInstance -input $eDrive -Arguments @{DriveLetter=”M:”; Label=”AppData”}