As for the issue of why the First Order is slowly running them down rather than destroying them with TIEs, perhaps the reason could be that Snoke wanted Leia alive so she could personally surrender to him, and he would also suspect that she would be the most likely person to have the location of Luke. This could be easily communicated in the crawl, and that way the First Order would just blockade the Resistance base until after most of the island scenes and when Leia decides to launch her attack.
The dreadnaught was about to destroy the cruiser before it got bombed, so keeping them alive was not a priority.
A edit can convey that, but it would need to remove some scenes or hopefully change dialogue to relay the thought of disabling the cruiser. But again, a handful of TIE’s could also disable the cruiser by shooting out the engines at the back.
On a movie standpoint they were adding suspense with a survival time limit, but the logic behind it was silly on a logic standpoint.
But to be fair, star wars battle logic hasn’t really been there starting from the first movie. So we could let that slide…