
Both the previous answers ignore that your SharePoint is on-prem, not online, and have some steps that only apply to SharePoint Online (logged in with another tenant's credentials?). But it is the on-prem that is key in understanding your issue. The PnP.PowerShell module doesn't support on-premise installations. There is some confusion about this, and there were attempts made to get PnP.PowerShell to work with on-prem (the -TransformationOnPrem flag). But Microsoft documentation as of May 2022 says that PnP.PowerShell doesn't support on-premise farms: benefits-of-using-powershell-with-sharepoint.
My solution was to Uninstall PnP.PowerShell module and install the legacy SharePointPnPPowerShell2019 module. The legacy module is no longer being maintained or updated, but at least it works with on-premise farms.
From PowerShell, run "Uninstall-Module PnP.PowerShell". Once that completes, run "Install-Module SharePointPnPPowerShell2019" (or 2016 or 2013, depending on your version of SharePoint).
After I got the legacy module installed, I was able to successfully run commands like Get-PnPList without the 403 errors.