If your app is mission critical then you might want to check the responsiveness of your support options in addition to cost. In general MS will have more accurate support as they can go straight to the folks who worked on it. However their turnaround is slow even in "emergencies" and their corporate support policies involve sending you links to docs that you've already been over. It is hard to actually get a person that knows what they are talking about.
On the flip side if you hire a third party then you are limited to what they know or are experts in (you should ask). If they don't know then they are going to have to do the same legwork you would do including googling or calling MS so it'll slow things down.
Personally I'm incredibly disappointed with MS Support that we pay for. Twice in the last year paid support has yet to prioritize or fix our issues. In one case we cannot apply SQL Server updates to 2 of our servers and we've spent the better part of 6 months "working" with support. They keep sending us docs and saying they don't know why it is failing even after sending all the logs. Their actual recommendation is to just create a new server which is not really a solution at all.
In another case we currently have a subscription in Azure we created but a third party then set up for us. Our global admin who is a global admin of the entire Azure organization and is listed as a global admin in Azure for this subscription cannot access it. What does MS do, sends us docs on how to configure Azure security even after we've already told them we've done all that and the user has global admin rights.
Currently MS paid supports is sitting at a C- for us and it is strongly impacting our plan to move other apps into Azure.