Before doing BDD, like you I was working on backend first. Since I experiment BDD, when I work on backend, I have switched my mind from "what could be useful ?" to "what is really needed ?". Writing UI first helps me to find the answer.
I am not sure that writing UI first is a common practice, but it fits good with development of web application which relies a lot on UI.
Is it common practise to do the UI first in some parts? Does this not cause problems when certain features get dropped?