Open the SVG and have a look at what's happening during boot.
journalctl -b will give you some more info too. If you're using grub to boot (probably in /boot/grub/grub.cfg), you can change the loglevel and add the udev option to get a bunch more info. Helped me with a random issue recently. Here's mine for an example:
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-a96b3354-70dd-45ed-8c6c-95171e9f1e82' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root a96b3354-70dd-45ed-8c6c-95171e9f1e82
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=UUID=a96b3354-70dd-45ed-8c6c-95171e9f1e82 rw loglevel=3 udev.log-priority=debug
echo 'Loading initial ramdisk ...'
initrd /boot/amd-ucode.img /boot/initramfs-linux.img
}
In the Networkmanager you can set that a connection is either available to all users or just yourself. If you set it to "all users" its configuration will be saved somewhere in /etc/Networkmanager (I'm too lazy to look up the real path) and will therefore be available for Networkmanager on boot. If you just make it available for yourself Networkmanager will only attempt to connect after you log in.
I think the default is to make it only available to yourself, because then you don't have to enter your sudo password when you set it up or want to change something. The downside is of course what you describe in your post.
I remember having to go out of my way to get an Ubuntu machine to connect to WiFi before login for this reason. It felt strange to have to do that at first, but it's also reassuring that the machine isn't by default connecting to a wireless network without user input first unless I give it explicit instructions to do so.