<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
I am running [vmware_vm_inventory.py]( https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/inventory/vmware_vm_inventory.py) in a firewalled environment without access to port `443` (i.e., only port 1443 forwarded to a single VCSA port 443) and setting `with_tags: True` and `port: 1443`, I get an error about port `443` instead (`HTTPSConnectionPool(host='foo.bar.com', port=443`). 

But if I set `with_tags: False`, or run it on the same subnet as the VCSA host (i.e., with port 443 access), the script works as expected, without errors.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
I suspect the problem is NOT `vmware_vm_inventory.py` but one of its dependencies. 

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.8.6
  config file = /ansible/ansible.cfg
  configured module search path = ['/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.7.5 (default, Oct 17 2019, 12:25:15) [GCC 8.3.0]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```
DEFAULT_BECOME_METHOD(env: ANSIBLE_BECOME_METHOD) = sudo
DEFAULT_BECOME_USER(env: ANSIBLE_BECOME_USER) = root
DEFAULT_STRATEGY(/ansible/ansible.cfg) = mitogen_linear
DEFAULT_STRATEGY_PLUGIN_PATH(/ansible/ansible.cfg) = ['/usr/lib/python3.6/site-packages/ansible_mitogen/plugins/strategy']
HOST_KEY_CHECKING(env: ANSIBLE_HOST_KEY_CHECKING) = False
INVENTORY_ENABLED(/ansible/ansible.cfg) = ['vmware_vm_inventory']
~
~
DEFAULT_BECOME_METHOD(env: ANSIBLE_BECOME_METHOD) = sudo
DEFAULT_BECOME_USER(env: ANSIBLE_BECOME_USER) = root
DEFAULT_STRATEGY(/ansible/ansible.cfg) = mitogen_linear
DEFAULT_STRATEGY_PLUGIN_PATH(/ansible/ansible.cfg) = ['/usr/lib/python3.6/site-packages/ansible_mitogen/plugins/strategy']
HOST_KEY_CHECKING(env: ANSIBLE_HOST_KEY_CHECKING) = False
INVENTORY_ENABLED(/ansible/ansible.cfg) = ['vmware_vm_inventory']
```
Config:
```paste below
plugin: vmware_vm_inventory
strict: False
hostname: foo.bar.com
port: 1443
username: foo@bar.com
password: fooBar
validate_certs: False
with_tags: True
```

I'm using a Dockerfile like this:
```
RUN set -euxo pipefail ;\
    sed -i 's/http\:\/\/dl-cdn.alpinelinux.org/https\:\/\/alpine.global.ssl.fastly.net/g' /etc/apk/repositories ;\
    apk add --no-cache --update python3 ca-certificates openssh-client sshpass dumb-init bash git jq ;\
    apk add --no-cache --update --virtual .build-deps python3-dev build-base libffi-dev openssl-dev ;\
    pip3 install --no-cache --upgrade pip ;\
    pip3 install --no-cache --upgrade setuptools ansible ;\
    pip3 install --no-cache mitogen ansible-lint ; \
    pip3 install --no-cache --upgrade pywinrm ; \
    apk del --no-cache --purge .build-deps ;\
    rm -rf /var/cache/apk/* ;\
    rm -rf /root/.cache ;\
    ln -s /usr/bin/python3 /usr/bin/python ;\
    mkdir -p /etc/ansible/ ;\
    /bin/echo -e "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts ;\
    ssh-keygen -q -t ed25519 -N '' -f /root/.ssh/id_ed25519 ;\
    mkdir -p ~/.ssh && echo "Host *" > ~/.ssh/config && echo " StrictHostKeyChecking no" >> ~/.ssh/config

# Dependency to enumerate VSphere hosts
# REQUIRED?  pip3 libxml2-dev libxslt-dev python-dev ;\
RUN apk add py3-lxml ;\
    pip3 install --no-cache --upgrade PyVmomi ;\
    pip3 install git+https://github.com/vmware/vsphere-automation-sdk-python

# Optionally download the latest version (from Github)
COPY -chown=ansible:ansible ./vmware_vm_inventory.py /usr/lib/python3.7/site-packages/ansible/plugins/inventory/vmware_vm_inventory.py
```
##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
```
 cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.10.2
PRETTY_NAME="Alpine Linux v3.10"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
```

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
1. Install Ansible on a subnet without 443 access (e.g., port 1443 only)
2. Enter that port in .vmware.yml as `port: 1443`
3. Follow example from [the documentation](https://docs.ansible.com/ansible/latest/plugins/inventory.html).

<!--- Paste example playbooks or commands between quotes below -->
Error:

> [WARNING]:  * Failed to parse /ansible/inventories/dev/.vmware.yml with vmware_vm_inventory plugin: HTTPSConnectionPool(host='foo.bar.com', port=443): Max retries exceeded with url: /api (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object
> at 0x7f7ac7985350>: Failed to establish a new connection: [Errno 111] Connection refused'))
>  
>  [WARNING]: Unable to parse /ansible/inventories/dev/.vmware.yml as an inventory source
>  
>  [WARNING]: No inventory was parsed, only implicit localhost is available


<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
Entering `Port: 1234` should do *all* work on that port, not require some parts to work on port `443`.  

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
Port 443 seems required regardless of the port the user entered.

<!--- Paste verbatim command output between quotes -->
```paste below

```

"""
        super(InventoryModule, self).parse(inventory, loader, path, cache=cache)
        cache_key = self.get_cache_key(path)
        config_data = self._read_config_data(path)
        
        self._consume_options(config_data)
        self.pyv = BaseVMwareInventory(
            hostname=self.get_option('hostname'),
            username=self.get_option('username'),
            password=self.get_option('password'),
            port=self.get_option('port'),
            with_tags=self.get_option('with_tags'),
            validate_certs=self.get_option('validate_certs')
        )
        self.pyv.do_login()
        self.pyv.check_requirements()
        source_data = None
        if cache:
            cache = self.get_option('cache')
        update_cache = False
        if cache:
            try:
                source_data = self._cache[cache_key]
            except KeyError:
                update_cache = True
        using_current_cache = cache and not update_cache
        cacheable_results = self._populate_from_source(source_data, using_current_cache)
        if update_cache:
            self._cache[cache_key] = cacheable_results
    def _populate_from_cache(self, source_data):