If a transaction with priority fee stays unconfirmed for hours, then there is something wrong on blockchain.com with their algorithm that calculates fees.
Not necessarily.
As I explained in my post above, there was a 36 minute block time just after the time that OP made his transaction, which caused a back log of transactions to fill up the mempool, and pushed the fees higher quite quickly. In fact, in the space of 1 hour and 26 minutes, only 3 new blocks were found, form blocks 607260 to 607263. This caused the mempol to go from practically empty (entire size 0.122 MB), to needing a fee of over 40 sats/vbyte to be within 0.1 MB of the tip. For blockchain.com to overcome this, they would have to have set their priority fee to somewhere around 40 sats/vbyte at times when doing so would put you less than 0.001 MB from the tip, which would be a gross overpayment 99.9% of the time.
I am a big advocate for learning how to judge the mempool and choose your own fees rather than simply relying on what your wallet or exchange tells you, but this wasn't blockchain.com's fault. If I was making a "priority" transaction at that time, I would only have chosen a fee of around 5 sats/vbyte myself and be in the exact same situation (excepting that I would have enabled RBF). This is simply due to block times not being set in stone rather than blockchain.com having a faulty algorithm.