Somewhere in my code I had the following and this caused all the fonts to sometimes not load correctly:
Text("Existing user?") .font(.body) + Text(" Sign in") .font(.body) .fontWeight(.semibold)
Changing this to two separate text elements resolved all the font issues elsewhere as well