I've done this via Google Fonts by adding the provided embed script to the Custom Header section and assigning font-family
to elements in the Custom Styles section.
Example…
Custom Header
<link href="https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&family=Raleway:wght@200;400;700&display=swap" rel="stylesheet">
Custom Styles
body {
font-family: PT Serif, serif;
}
h1, h2, h3, h4, .TagsLabel, .Button, .DiscussionListItem-count, .item-discussion-views {
font-family: Raleway, sans-serif;
}