As you mess around, it would be helpful to also know which client you are using to connect to your OpenVPN instance. Also, I'm assuming you are importing from Merlin the matching client configuration as well. Also, we are not talking about routing, we are talking about traffic passing over the tunnel.
I poked at this question a little bit. There is a big difference between "Disabled" and "None". To save others the exercise, I think the following is the case:
When the OpenVPN server instance is set for "Disabled" as compression, neither the client nor the server configurations at /etc/openvpn/ contain a compression setting. This means the traffic isn't carried in a frame that can be compressed, and the compression module isn't loaded.
When the OpenVPN server instance is set for "None", the client has the deprecated line "comp-lzo no" and the server has the current line "compress". This means that traffic is framed for compression, and the compression module is loaded, but compression isn't used for sending traffic. This seems to be where OpenVPN is heading (except for the deprecated part), since it allows for either the server or the client to accept compressed traffic if it is specified in the frame, but compressed traffic won't be sent. I'm not clear what happens if the server is set to "Disabled" and the client is set for "None", because then there is mismatch not only in compression but also in framing.
Similarly:
Server: LZO
Server config: compress lzo
Client config: comp-lzo yes
Traffic: Both are sending compressed traffic using the older lzo algorithm. Vulnerable, and going away.
Server: LZO Adaptive
Server config: comp-lzo adaptive (using the deprecated version because compress doesn't accept adaptive)
Client config: comp-lzo adaptive
Traffic: Both are sending compressed traffic during intervals when it is thought to be saving bytes. Vulnerable, and going away.
Server: LZ4 (optimized algorithm for OpenVPN but needing clients 2.4+)
Server config: compress lz4
Client config: compress lz4 (using compress because deprecated version doesn't accept this)
Traffic: Both are sending compressed traffic. Vulnerable, and going away.
Server: LZ4-v2 (more optimized algorithm for OpenVPN but needing clients 2.4+)
Server config: compress lz4-v2
Client config: compress lz4 -v2(using compress because deprecated version does accept this)
Traffic: Both are sending compressed traffic. Vulnerable, and going away.
I don't use iOS, but I note that the release notes for the semiofficial (the blinkt.de client) client 3.0.2 says that compression is "disabled by default". I assume that means the default client configuration is silent and therefore doesn't frame traffic to allow for compression, in which event the matching setting has to be "disabled". This does not seem to be where OpenVPN is heading. I'm not sure whether that means one of our imported client configurations can override this behavior or not.
I couldn't tell what the default behavior is for the blinkt.de android client.