Grub, syslinux or any bootloader will do not make the choice for you, you need to set it by the hand because this will depends of the manner to boot your system and so this is depends of the distro/dev/init and so on.How do you get grub to produce the correct syntax then
On obarun a service is launched during the boot time called checkfs-fscheck. This servcie will made an fsck operation on your DD, if you do not have the root partition mounted as ro, this service do not work properly.
On general way, why mounting the root with rw to remount after that on ro to be able to make an fsck and then remount again to rw? for security reason, i think is better to make operation to boot the system as much as possible with a root mounted on ro. For example if you look at /etc/s6/rc you will see directories named with rofs-*. All those services make operation with a root mounted ro. by opposite, all those marked rwfs-* make operation with root mounted rw.
So you can see, for example, that udev make his stuff on ro partition(you do not need a rw partition to do that, so why leave udev making stuff on rw partition?)
The service called rwfs-fsrw make the switch between ro and rw .