I am having the exact same issue as described by @arturosanz.
navigator.permissions.query({name: "geolocation"}) is returning prompt when the user have denied permisson and then navigator.geolocation.getCurrentPosition() catches an error with error code 1 / PERMISSION_DENIED.
When changing the settings for Safari to "Allow" (for every site as I understand the setting), the same problem is still there.
I first thought this had to with my site was served on the adress localhost and without https, but I can recreate the problem with FQDN over https.