On my other (laptop, timeout=11) machine, this works properly.
I have a theory that somehow on the (desktop) timeout=45 machine maybe there is
something making grub think that some key was pressed, thus interrupting
the timeout...