If your code strictly depends (not weak) to some class - just use it. In any form. You can define local variable of this type for example.
All of this lead to include this classes/packages to dependency by compiler, and loaded later by linker. no any special steps need.
Tricks need only if you want make code independent from presence some packages with optional features.
For example,
viewtopic.php?f=7&t=14969 - mutator which work for any game type, but if run against Gauntlet do some additional functionality.
If it will be coded in usual way, it will be require gauntlet for work, which not acceptable.
> Well, what if my code depends on another mod / package....
If no any special requirements (as above), for make code independent and optionally do some functionality, then just use need classes.
> If I call SetPropertyText like that.... would it be "none" if it cannot find class<gateways>?
Yes.
> Wouldn't I instead want to use a dynamic load?
Who knows. Depends from what you want or need. It is different approaches for solve different kind of problems.
> And does postbeginplay only execute on a server? Wouldn't I need to check for ActorRole to see if it's an authority?
If function not labeled as simulated, then it (usually) not run on role less from authority. Usually (but not always) it is sounds as "on client".
But if you spawn actor on client, then actor authoritative here, and all non-simulate function run fine here.