@Arjo's answer is useful if you have admin access to an external network, and @linzuojian's is useful if you don't host a samba share already on windows; but you can combine the two using a loopback device to have your cake and eat it too (interestingly @Rahul says it cannot be done, but then links to a really old tutorial on how this was accomplished on XP..)
On Windows 10 admin PowerShell:
iwr `
'https://gist.githubusercontent.com/Hashbrown777/081e57ff9673a1f457e1c3a71b55cfaf/raw/28dcd74be1281812e2ef17b1bd36c6b5db216ca3/attachsmb.ps1' `
-OutFile attachsmb.ps1
Install-Module -Name LoopbackAdapter -MinimumVersion 1.2.0.0
. './attachsmb.ps1'
Create-Host -Name ubuntusmb -Ip 10.254.0.1 -Dest <#ubuntu's IP#> -Port 450
<#REBOOT#>
explorer \\ubuntusmb
This allows you to maintain a native SMB share locally AND connect to another on a non-standard port (local or external) only configuring your local machine.
Basically you give your machine another IP with your new fake network interface, on this new IP you can host on port 445 forwarding to the non-standard server, and finally you can assign this IP any hostname you like with your hosts file.