I haven’t gotten any jobs through Upwork yet, but I do have a profile on Upwork and was accepted almost immediately when I signed up last year. I even have a “Rising Talent” indicator, despite not having any jobs through them since I signed up.
I don’t know the reasons why Upwork rejects profiles in general, but several things jumped out at me about your profile that might explain why:
You say you’re “currently a software developer” but in your employment history, you don’t show a current job. If you’re not currently employed, then you should change that wording, even if it’s just as simple as taking out the “currently”—i.e., so you just say you’re a software developer. Or if you’re currently a student, then say you’re a student, there’s nothing wrong with saying that you’re a student and looking for one-off jobs!
You only say what you can do, and what you’re able to do. You should change your approach to say where you’ve worked and what you’ve actually done. If you don’t have many projects completed, you could scour other Upwork profiles to see what other freelancers in your type of position have written. When you say you’re both a Web and mobile developer, you should have at least one Web app and one mobile app that you can mention on your profile.
In your Employment history, you could stand to word your experience much better—put it in a way that an average person can understand, and not in a way that only another programer would understand. The average person doesn’t know what “code” means, or any technologies. If you can quantify any accomplishments, like something you did was X% faster than before, or saved an amount of money, then you should mention those numbers.
You could further quantify how many years of experience you have with each technology, for the ones that you know best.
Your hourly rate is really low at $5/hour and there’s no point in it being that low. Don’t worry about being beaten out by cheaper freelancers, because when your hourly rate is that low, no one is going to seriously consider you. IMO, the lowest you should go is $20/hr, but you can definitely get away with going a bit higher.
No offense intended, but your English spelling test score is kinda low for someone that I’d expect to be a fluent English speaker, and you should re-take it whenever you can to get a higher score. I’d expect no less than 4.8 from a “native speaker” in the UK. Also, if you really are bilingual with German, why not take at least one of the German tests to prove it?
Along the same lines, you should take as many of the tests as you can, especially when they’re free. Take a test on every language/technology that you know—and even if you don’t do great, at least that will tell you what you need to learn.
One thing you can’t do in your Upwork profile is link to your outside contact info or portfolio. I can’t tell if you did that since your profile was removed again. You can link to that stuff in a proposal (the first message you send to someone when you want a job), but not in your profile.
I just did the basic JS test on Upwork and it was really bad. Some of the questions didn’t even make sense grammatically, and many are confusing JS expressions you’d never use IRL and it asks you to figure out what they evaluate to (which half of people probably just cheat on). You should still try it but don’t feel bad if you fail. If you fail you don’t have to show it on your profile.