RPC server port is always a random one. In fact, the problem is in RpcConfiguration.HIVE_SPARK_RSC_CONFIGS which doesn't include SPARK_RPC_SERVER_PORT.
I've found this issue while trying to make hive-on-spark running inside docker.
HIVE_SPARK_RSC_CONFIGS is called by HiveSparkClientFactory.initiateSparkConf > SparkSessionManagerImpl.setup and the latter call SparkClientFactory.initialize(conf) which initialize the rpc server. This RPCServer is then used to create the sparkClient which use the rpc server port as --remote-port arg. Since initiateSparkConf ignore SPARK_RPC_SERVER_PORT, then it will always be a random port.