I’ve worked in H/R and you must understand, H/R isn’t in the business to keep any employee happy. They are there to prevent lawsuits, hire people, fire people and to train.
If you go to H/R it becomes your word against your boss’s word.
H/R will rarely side with the lower level employee unless it is obvious there is a legal issue which may result in a lawsuit.
The OP has a classic example. Bad managers, that can’t keep staff. They know no one wants to work under them so they prevent employees from leaving as they won’t be able to get a replacement.
I once worked for a company as an overnight manager. After a year I applied for accounting which I was 100% qualified. They gave it to a person who didn’t know what she was doing, in fact they asked me to train her.
After much pressure by me, the H/R person said, “Look Mark we can’t afford to lose you off the overnight shift.” I was like so because I’m good at my job, you won’t let me take a better job at more money?
I went out and found a new job in a week, and I still remember the H/R’s manager look “Mark, why on Earth would you want to quit.”
The thing to do if you know you have bad management is never get on their bad side. For instance, in this case the OP could’ve gone to her boss and explained she is moving to a new flat right by the branch that has an opening. Then I’d say that I’m having a difficult time getting to the branch on time, which means I might have to leave. That is a bit less threatening.
Another way you could do it was simply say to your current boss, “I’m applying for part time Christmas work and I need a written letter of reference, can you give me one.” The boss probably would’ve given her a written reference, or at least had H/R do it.
By having a written reference that is good, you put the brakes on her ability to call you a bad employee.