As I said before, the concept of "Server" and "Client" in OpenVPN is more about terminology than the roles of a traditional server and client you may be used to.
Specifically the OpenVPN Server is the end of the connection that listens on a port for the start of a connection, the Client is the end that initially makes the call from the outside.
Once the two have negotiated a valid connection, routing information is passed between them and the routing really can be from either end.
I'm not really sure what your getting hung up on as far as who's the Server and the Client.
If you really want to have both ends to be Server and Client, there's nothing stopping you from creating two OpenVPN instances on each end, one a Server and Client the other a Client and Server. If you go with that type of design, you'll need to use distinct port and certificates as well as figure out which end will route what information.