Should I leave my current job for the other? Or is this unprofessional?
This absolutely is not professional.
- Evaluates a job offer
- Determines if it is a position they want
- Makes an informed decision about a job
- Commits to that decision
A professional does not take a job they don't want because the company won't give them an extension on the job offer and they have no other options and then change their mind 1 week after starting because another company made them a better offer they couldn't wait 1 week to evaluate.
There is a (reasonable) assumption when an employee accepts a job offer and starts working that they will be around for more than 2 weeks before accepting another job offer.
Or is this unethical?
This is going to be a personal decision as to whether you think it's ethical. By the definition of ethical I don't think there is any way you can justify this decision as being ethical. But in terms of "is this something I would be ok with?" it is a completely personal question.
edit: there seems to be a lot of confusion regarding "professionalism" and "what feels right" in this situation.
- If I was giving advice to someone, would I ever recommend, "You should accept a job offer you do not want while waiting for other offers, actually begin working for that company, and then if you hear back from your preferred employer, quit immediately and take the preferred offer?"
If you did give it, you would likely never want it associated with your professional image. If an interviewer asked about whether that was professional advice, what would you respond? Would you tell an interviewer "yeah sure that sounds like great professional advice!" Of course not. Why? Because it is not considered professional to do this sort of thing.
Now does it feel right in this circumstance to "get back" at a company who wouldn't extend a deadline to someone who was in an unfortunate personal situation? Sure. But that does not affect how professional the response was.