any player controller should be able to work with any pawn, as long as they are designed correctly. if you make a playercontroller know anything about the specific kind of pawn its working with, you won’t be able to posses a different kind of pawn, which will limit your flexibility in the kinds of games you can make.
a player controller should know its controlling a pawn, but it should not know what kind of pawn its controlling.
a pawn should know it has a controller, but a pawn should not assume its a playerController, because it might be an AI controller, or some other kind of controller.