You're overthinking it, but I think that since you're still learning "newer" stuff like flex, that's why.
The giant left padding reeks of trying to manually position what should be auto centered. To that end I'd add a DIV inside HEADER to act as the centering component.
Since HEADER is not exclusive to BODY and can also be applied inside MAIN, SECTION, and ARTICLE, targeting it by tagname is risky. "body > header" could be appropriate but if you end up having to use a fauxbody such as for modal dialogs, you'll end up having to refactor the selector.
Thus I'd put an id="top" on it. This gives you a styling hook, AND a landing target if you want to put a "back to top" link in (or before) your body > footer.
I'd also toss an ID on the NAV to say which NAV it is, and as a landing for :target driven "hamburger" mobile menus.
<header id="top">
<div>
<h1>sitename<sup>™</sup> Web Services</h1>
<nav id="mainMenu">
<ul>
<li>
<a href="https://example.com">
Support Forum
</a>
</li><li>
<a href="https://example.com/ddws_pages/contactus/contactus.php">
Contact Us
</a>
</li>
</ul>
</nav>
</div>
</header>
In the CSS you're playing around with positioning you don't have to. One simple change could have removed a lot of your issues. "align-items:end;"
align-items acts on the cross-axis,in the case of rows that means up and down. If you set it to "end" everything will align to the bottom edge. Then you just pad the H1 taller than the menu to create it being "centered".
You're also targeting the LI for things that really belong on the anchor. The anchor is the targetable / focusable / navigable element. LI is not.
#top {
background:
#730D0D
url(images/ddwslogo_web_black.png)
center
no-repeat;
background-size:contain;
}
#top > div,
#mainMenu ul {
display:flex;
flex-wrap:wrap;
gap:1rem;
}
#top > div {
justify-content:center;
align-items:end;
max-width:48rem;
margin:0 auto;
padding:0 1rem;
}
h1 {
flex-grow:1;
padding:2rem 0;
font-size:2rem;
font-weight:normal;
color:#DDD;
}
h1 sup {
font-size:1rem;
vertical-align:top;
}
h1 ~ * {
flex-grow:0;
}
#mainMenu ul {
list-style:none;
justify-content:end;
}
#mainMenu ul a {
display:block;
padding:1rem 1rem 2rem 1rem;
text-decoration:none;
color:#FFF;
background:#000;
border:solid #100;
border-width:0.0625rem 0.0625rem 0;
border-radius:0.5rem 0.5rem 0 0;
}
#mainMenu ul a:focus,
#mainMenu ul a:hover {
border-color:#FFF;
}
Also background-size:contain; is your friend. As are most of the "legacy" condensed properties.
I also shrunk the height because that was too tall a header for its own blasted good. Not sure how that interacts with your background-image, but really I wouldn't go there wasting screen space on junk nobody cares about like some artsy-fartsy background.