Is it correct that if users have their work email linked to HubSpot and they email a contact who is from a company that is not in our HubSpot database that HubSpot will automatically create the company and the contact?
If the above is correct and the user has view only access to the CRM Companies and contacts sections to HubSpot then would HubSpot still create the company and contact?
If the email that your user is sending is logged, yes. This happens automatically for emails sent through the CRM. Alternatively, the email must be logged with the sales extensions or the BCC address.
Simply connecting the email address and then sending an email through Gmail (without the extension) would not be enough.