In my country in fact we do the following separation:
UI designers - this are people working before the web designers usually only on the UI mostly including photoshop, illustrator and etc.
UX designers - this are people working before the UI designers only and mostly on mockups... showing what elements and screens and navigation we will have nothing more.
I would explain it in steps in my company:
1) the UX guy speaks with the business analyst and by knowing what stories exists creates the UI of all on prototype mockup level without any colors or fonts or anything.
2) the UI guy takes the mockup and makes it beautiful but in a picture mode.
3) the web designer takes the psd and converts it to HTML, testing and taking care of all browsers rendering all the same.
4) the frontend developer using a mockup rest service like mocky.io (mocky.io/) makes all work but on a fake static responses, he also creates tests with chakram for example verifying the STRUCTURE of otherwise mock responses.
5) the backend developer develop a rest endpoints and make sure that the frontend chakram tests works ones they work this is merged with the frontend and a configuration endpoint properties are changed.
6) the QAs and BAs starts to test and if something from an UI perspective is broken a BUG is created and the BUG starts from step 3 or 4 or 5. Usually 1 and 2 and 3 are already confirmed and approved by the client and if there is a change there it is a new user story starting from step 1, bugs starts from step 3.
What I missed is step 0 the discovery phase where the business or functional analyst speaks with the clients and comes with a set of 1 or more user stories.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.