If you would render the game at 60fps but the simulation only runs at 30fps then you would literally end up with duplicated frames every other frame, giving you literally the same result in the end (as if you were rendering at 30fps), so why not just clamp your game at 30fps then?
I can see reasons to do the opposite, like render at 15fps with the simulation at 30fps, like in a simple chess game that you want to reduce resources while no player makes an action. I know that Unity has something like that (called OnDemandRendering), but I don’t know if Unreal has something like this.
About your network use case, each game has its own requisites for that, some roll-out a custom deterministic game code, some just never trust that the client is fully in sync and always do the validations on server side and execute rollbacks on the client side, some don’t need real-time sync at all (like a simple chess game).