Hi Jack
I recently helped someone with a connection issue, follow the thread and see if it helps
In summary, the inbound rule was wrong, because he added the public ip in the destination
But, make sure there is no blocking inside the VM like Windows Firewall or some antivirus
To make sure it's not a NSG entry rule, do the tests below:
Network Watcher's IP flow verify or Next hop capability can help you understand if a rule is blocking your traffic.
It is possible to have more than one NSG, at the NIC level and at the subnet level
In Network Watcher, access the effective security rules, find out if you have more than one associated NSG:
Get in touch if you need more help with this issue.
--please don't forget to "[Accept the answer]" if the reply is helpful--