is it a good idea to work extra without claiming hours in order to
make up for my incompetence and distractions?
Generally speaking no, it makes for a miserable working life and you can eventually feel unfairly treated. However, these things are often not black and white at all and entirely depends on you and a lot of factors.
It "can" have detrimental effects to your health and mental well being. Over time this can reduce overall productivity, which for you means the extra time you are working to gain advances is reducing the effectiveness of your normal normal hours, and thus you're not really gaining much net profit overall.
Are you incompetent? Or are you simply at the level you are at, and surrounded by more experienced people so it seems that way? Technical roles have such a wide scope of knowledge and experience, and people learn tech things at such vastly different rates, even trained professionals.
How fast are you learning? Only you can decide if pushing yourself is worthwhile to you when factoring in ill effects. Although I'd say it will always be a short term plan to get you a bit more ahead and more confident so you no longer have to do it.
Imagine a rough curve chart with extra hours worked VS increased understanding of your required knowledge. Is the curve positive in direction in that you are advancing steadily, or are you just working more and more hours with no real gain?
If not stop now as it's not working. Instead get more relax time and try to not worry and you'll be more productive in the long run. (Easier said than done of course.)
You should also identify and accept your weaknesses and why (if any) and determine why you are not advancing as you want to. Work hard on that. It could just be you are a slow learner, or stuck in this rut of working more to advance but the extra work has an adverse effect as you are stressed and tired. Identify it and fix it, and quickly as the quicker you feel better the faster you will advance, and rinse and repeat...
Perhaps stop using this extra time as overtime at work and use it instead at home on studying those areas, even just on the internet or fiddling with Ops things or a project of your own (ideally relevant to work requirements). We all learn differently to each other, but often your choosing yourself when and how you learn something can make it easier/faster to learn (i.e. your own time at home), especially when you're not pressured by deadlines and the burden of being paid for it.
Do whatever works for you, even if you feel awkward like dropping the extra overtime that felt like it made up for your shortcomings. Eventually the right method for you will pay off and your knowledge advances will benefit the company you work for, and you'll feel better. Sometimes there's just a sour limbo stage where you have to suck it up and let time progress a bit.
coworkers seem to be getting tired of constant questions because their
message style has gotten increasingly formal over time;
Perhaps they have too high expectations? Or your lack of confidence is making them feel like it's difficult to help? Be confident, and anything you don't know just make it clear verbally and by your actions in getting things done that you are entirely keen to advance.
And remember the golden rule - try to not ask the same things repeatedly. Make notes if this is happening. In all tech people expect questions, even high up, and we often forget things we learned but only did once weeks ago.
take far too long to complete (hours or days instead of minutes);
This happens in most junior levels. Maybe you (and your colleagues?) expect you to have advanced further than is realistic?
As a junior dev years ago I used to take days over something I knew my seniors would take an hour or two. But it eventually sinks in, and when it does it feels good. Now I write code that is cleaner etc than what some of my seniors showed me, due to my strive to learn best practice. It'll come.
external distractions such as phone distractions are taking time away
from work.
If phone calls are part of the job then they're not taking time away from work, they're a part of it. You just need to manage it properly. Or if there's a problem, such as too many calls, raise this issue. As a junior, are you perhaps being given the large proportion of the calls to handle to take it away from others? If so, this is a problem and will affect your ability to advance, from a lack of time, concentration and focus, and being unsettled about it.
Working more hours is fine short term if it's working and you are happy to do that to get to a comfortable place and can then stop the extra hours.
Do also consider that it could be the work environment/ethos to blame. You should look at this potential, many work places can have poor structure or not manage time and resources properly. Employ juniors and not give them the time to learn. Just make sure to be unbiased - don't look for any excuses as it's you who needs to find the resolve for your own sake. And that could be looking for a role somewhere else, that might help juniors more.