The Netcode package is focusing on providing a server authoritative simulation with client prediction model. This has been designed from the ground up for that use case, that as you said, can be applied to many scenario.
RTS usually tend to rely on a completely deterministic simulation and the worlds are synchronized by using a lockstep synchronisation model. The simulation advance only when all players inputs has been received for that particular tick. The world/player states are never predicted on the client (unless you are using a deterministic with rollback lockstep model, ala GGPO),
Since clients only send input messages to all players (reliably or with some compensation), is quite normal to use input delay on the sender (to compensate the latency a little bit) and some input playout buffer on the receiver (to make the game experience a little less jittery).
Better results are usually achieved by using a server that relay messages instead of relying on a P2P model (for many reasons). That also give the opportunity to have join in progress (partial snapshots / sync points), input messages received for a certain frame can be sent all together, input checks, etc etc.
That being said you can still trying to do an RTS with the current netcode architecture. However, it will requires some tuning, manual changes here and there and some carefully setup.
Probably I would avoid using prediction at all on the client. Everything should use interpolation, with a high enough interpolation delay (ex: 200ms)
By using NetCode the entity state should be synched in theory (because this is the way it work). Also the client will rollback and replay the the simulation to stay ahead of the server you have predicted entities (this is why you should not have any of them if possible).
You can simple say to not synchronise translation and rotation by setting up the default variant to use. There is a manual page about it (see Ghost component types and variants | Netcode for Entities | 0.51.1-preview.21).
Just set for translation and rotation to use the DoNotSerialize variant (NetCode provide them) or do it on per prefab basis.
A very important aspect in this case is to utilise relevancy, importance scaling and spatial partioning so that you can prioritise entities that are very close and important to the player.
But it is kinda an exploratory territory. So be aware of that.