There types are rather odd considering the theme of sun and moon. They must have another form or a mega/primal evolution.
It's actually not that odd.
[spoil]Apparently, some people are saying that these legendaries are based on alchemy. In alchemy, there's this mythical creature :
https://i.reddituploads.com/15cd8d130cc04d0888c73f0424dde810?fit=max&h=1536&w=1536&
It apparently symbolizes the purification of metal - hence Pure Metal Body as it's ability. Sure, it was unexpected, but not odd, IMO.
The Ghost type for Lunala isn't weird at all - everybody literally banked on a combination of ghost/dark/fairy/psychic/flying. So yes, it is indeed x4 weak to dark and ghost type moves, which might appear odd for something representing the moon.
It seems however that they made both legendary weak to the "types" everyone thought they would represent. I can't really explain why, though, except maybe for lunala that since the moon reflects light, it is "broken" by darkness and stuff.
The psychic type was obvious for both. Psychic has always been the "cosmic" type in Pokémon, plus they have that thing on their head.
Let's also not forget that the 3rd legendary is rumored to be named Marshadow. I could definitely see it being a Dark/something type, representing Mars and/or Solar/Lunar eclipses, which would make it strong against both Solgaleo and Lunala. I know Zygarde was the opposite (Yveltal immune to Ground, Xerneas immune to Dragon), but with the name Marshadow, that makes sense imo.
That said, I'm not saying they shouldn't have a 2nd form if holding a certain item or after changing their form somewhere. For instance, Solgaleo could become Steel/Fire or Psychic/Fire with that second form, while Lunala could become Ghost/[Ice or Fairy] or Psychic/[Ice or Fairy]. If that were true, I'd prefer Psychic/Fire and Psychic/Ice, to keep the theme and the duality with the hot sun and the cold moon.
However, I could definitely see Marshadow either being Dark/Psychic, or Dark/Ice, too.[/spoil]