JSF considering the first item as selected is incorrect. It is the browser making that judgment. If you look at the HTML specification excerpt, nothing requires the first option to be the selected one. Most browsers will do so though. Because of the implementation detail, the first item gets submitted as the value. It's not a blank value being submitted. However, that is not JSF doing so. That is the browser doing so. Some browsers might pick the third option instead. There's no requirement that it be the first item.
If you were correct, an <h:selectOneMenu> with no value would render as:
Instead, it renders as:
That second rendering leaves you in unspecified territory for which item to select initially.