There are a lot of things sold as "VPNs" where the vendor provides part of the service rather than just products. IMHO there is nothing "private" about these - they are nothing more than anonymization services.
Product recommendations are off topic here.
However, and like most such exercises, you should start by defining your requirements properly.
You have said you need support for Linux and Android - that's a starting point. You might start by checking what capabilities are already present (particularly on the Android side). Having a client already deployed and managed by the existing patching mechanisms is a big win.
You should also consider how many sites (or individual devices) are going to be on the same VPN. IME most open-source and a lot of commercial VPNs operate on a hub-and-spoke model which does not scale well (tailscale is a notable exception here).
Another consideration for scaling is how you will implement authentication and (potentially) key distribution. Commercial software is often better at this stuff than open-source, but part of that is because the vendors want to sell you a complete solution while open-source is typically components you assemble to implement YOUR solution. e.g. your open source VPN might ONLY offer authentication against users known to the remote host - but you could have configured that host to use MS Active Directory, other LDAP, RADIUS, a MySQL database....
In the case of open-source software you have plenty of opportunity to see the documentation, the historic CVEs, whether other people have encountered problems with the software. For commercial software and for services....not as much.
While lots of vendors assert that their product uses IPSEC or TLS or some other standard for connecting, it can be difficult to get products from different vendors to talk to each other. Commonly this is due to the support firewall ("Have you tried turning it off and on again?") but can also be due to vendor secret sauce creating incompatibilities.