The proposed API is fine and can be done in SFML 2.x, but I have one problem with it so let me suggest a slight variation.
The thing is, it adds yet another argument to the constructor and create function ; moreover, if we don't want to break API compatibility, it has to be the last one but the "right" order for it would clearly be between "style" and "settings". Not the end of the world, but not ideal.
Why do we have so many arguments to create the window? Because it's shown directly as it is created, so it has to have all its final attributes right away.
What if instead we allow to create an invisible window, then set whatever attributes with (already existing or new) setter functions, and finally show it? Yes, this is basically what FRex suggests.
All we'd need is an additional style flag, something like sf::Style::Hidden -- which is fine because the style is set at creation time and can never be changed later -- and then call setState, setTitle or whatever, and finally setVisible(true).
TL;DR: keep everything as proposed, but simply replace the additional "state" argument with a new "Hidden" style flag.