Thanks for this.
A difficult to remove heatsink fan (HSF) assembly is not an uncommon problem and there have been cases where users damaged the processor or the socket or the board itself because the HSF assembly didn't want to come off and they ended up pulling too hard. In the past, my solutions have been to remove the board and pinching and push the pins from the back side. But I note you could not easily access the back of the motherboard so I can see that not working for you.
Sometimes just a little more force is needed - with a strategically placed tongue and crossed fingers and toes

in the hopes the fragile plastics pins are not damaged to the point they don't work at all - or worse, prevent mounting.
I have seen where the plastic retaining pins have been so damaged and distorted they could not hold the heavy heatsink in place. This is typically more of a problem with tower (vertical) cases as the heavy heatsink "hangs" off the motherboard as opposed to sitting on top of the board in a desktop (horizontal) case. Or damaged pins may result in uneven pressure on the CPU by the heatsink which can adversely affect heat transfer. Solutions involved using adhesive TIM or even temporarily setting a heavy weight on the heatsink then using hot-glue under the board where the pins came through.
In some cases, it was the TIM (thermal interface material) that refused to let go and powering up the processor to heat up the TIM loosened it enough to break free with slight but ever increasing back and forth twisting action (avoiding hard pulling). This is how I typically remove heatsinks that were attached with adhesive TIM (commonly used on chipsets, RAM modules and other ICs).
Sadly, in some cases, because the mounting mechanism in an integral part of the CPU HSF assembly, a new CPU HSF was needed.