Unfortunately this is standard behaviour for iOS and OS/X. Existing connections will stay on the old network if the old network is still available.
You've found that VPN will use cellular if WiFi is switched on after the VPN connected. The same is true for other connections: if you connect something else first, then connect the VPN, the old connection will not use the VPN.
I agree that it would be better if the VPN can reconnect automatically when you change networks. In fact, IKEv2 can technically do this, but it's up to Apple to enable it.