My wife had this issue and after trying some of these suggestions and poking around a bit I make the following observations with regards to the Phone / Recents screen:
- If there is a phone number shown, using that correctly initiates a call
- the "Call" button (with the handset image) keeps a list of (let's call them) "call options"
- holding the call button pops-up those options and allows you to select one - the top one is the default
- I noticed at least one situation where two of the options looked the same (showing the correct phone number) but the first opened Instagram and the second worked as expected
- I suspect that behind these options is a URL which includes the "scheme" for handling the link (that's the "http://" we know from web URLs)
- whenever you install an app it can provide to the OS a list of schemes it can handle
- I suspect that some apps are hijacking a scheme that is supposed to be for the phone app
- apps I have seen mentioned so far: Instagram, FB Messenger, WhatsApp, AliExpress(?!) (All reputable app developers - I'm noticing a pattern...)
The method of fixing this for us was to shutdown the phone and restart with a "hard reset".
For FaceID phones this involves pressing volume-up then volume-down, then holding the "power" button until the logo appears onscreen.
It seems to reset the OS "scheme" cache and removed some (all?) of the spurious links behind the call button.
This also seems consistent with the behaviours observed while removing and re-installing the offending app(s)