system installation – Ubuntu 18.04 – debian installer (preseed) not respecting max size on partitions

I am using preseed to do an unattended install of Ubuntu 18.04 using the following recipe, but it ends up with the lv_swap partition filling up the disk and it ends up with 60+GB.

How can I make the partitions respect the size described on the recipe:
1 GB /boot
20GB / (LVM)
20GB /var (LVM)
4 GB swap (LVM)
rest would be free space on LVM to be used later

d-i partman-auto/expert_recipe string
boot-root ::
1 1 1 free
$bios_boot{ }
method{ biosgrub }
.
1024 1024 1024 ext4
$primary{ }
$bootable{ }
method{ format } format{ }
use_filesystem{ } filesystem{ ext4 }
mountpoint{ /boot }
.
20480 20480 20480 ext4
$lvmok{ }
method{ format } format{ }
use_filesystem{ } filesystem{ ext4 }
mountpoint{ / }
lv_name{ lv_root }
.
20480 20480 20480 ext4
$lvmok{ }
method{ format } format{ }
use_filesystem{ } filesystem{ ext4 }
mountpoint{ /var }
lv_name{ lv_var }
.
4096 4096 4096 linux-swap
$lvmok{ }
method{ swap } format{ }
lv_name{ lv_swap }
.

Thank you!