It is not possible to set permissions for guests to make them unable to see "who is online" on index page and the birthdays on index page.
You can mark all permissions for the group "guests" with never (included "can view memberlist, profiles and who is online lists) and you can do the same with user Anonymous with no success.
In these German thread the user Lehrling said, the permission "can view memberlist, profiles and who is online lists" may mean "who is online WHERE". This is not the expected behavior if it is so.
I see no possibility to hide "who is online" (and birthdays) for guests without
a) deactivate it
b) or edit core style files.