OK, my big problem was pointed out by a colleague... my link to the file didn't look like the nice clean one ih showed (I could see that but he had an example from our system that did). I did get links to the file different ways (including just the URL showing in the browser and from a share button with option "copy link") and they all worked when pasted into Chrome or Microsoft Edge browsers but instead of ending like...
Folder/Subfolder/File%20name.xlsx
they all had extra stuff like this...
%7B21C93788-01B3-4508-8EC9-5451FBB8AEB6%7D
so even when I stripped it down to the "?" after the filename I didn't have the apparently right type of URL for this to work.
Then it may be necessary to do the second part ih suggested about logging in via Web() to input credentials in JMPs particular browser but I'm not sure because I had already done that earlier (so not sure if it would have worked with this URL based on credentials saved by other browsers or not). Now that I have a nicer version of the URL it just opens from JSL nicely. Does not need ?download=1 and so far is not only remembering the credentials for the session, I've rebooted 3 times and it can just do this from the get go each time without requesting credentials...
Open("https://company.sharepoint.com/:x:/r/sites/Site/Shared%20Documents/Folder/Subfolder/File%20name.xlsx");
My only issue now that since I'm not explicitly sending credentials I'm not sure what might make it forget them but so far it seems good at remembering them.
Thanks!