Regarding the BOOTRST fuse bit (bit 0 in the high fuse on Atmega328p for example), if this is is disabled, are BOOTSZ0 and BOOTSZ1 just totally ignored? i.e. does their value become irrelevant?
Damn... a bit more googling and I would have found the answer before posting. For reference I found the following article (Arduino / ATmega 328P fuse settings | Martyn Currey) which states:
"If BOOTRST is not set then the user application can use the whole of the memory regardless of the BOOTSZ settings."
Thanks for taking the time to post an update with your findings @Pinja. Enjoy!