We faced similar challenges with GitLab's auto-cancel behavior, especially with preventing the cancellation of pipelines on critical branches like master. To address this, we developed a simple tool that automatically cancels redundant pipelines, allowing only the most recent one to run while preserving pipelines on protected branches like master.
Feel free to check out the tool on our GitHub repository https://github.com/alekseiapa/go-gl-redundant-pipeline-cleaner.