полностью логичное поведение.
при клике ты берешь parseFloat($('.basket-sum').html()) и работаешь с ним.
если в момент клика там не больше 5000 - он и не будет скрываться.
а скрываться будет уже после того, как в момент клика в $('.basket-sum').html() будет больше 5000
такой элемент не нужно засовывать в col. потому что col не фиксирован. при изменении размера - он тоже будет изменяться. и этот элемент будет всегда ездить туда-сюда.
делай фиксированной ширины блок и задай ему display: flex;
1) самый легкий способ - переопределить переменные в _variables.scss, которые $grid-breakpoints
2) по сложнее - самому написать схлопывание. там не много стилей меняется, которые заставляют схлопывать навбар
3) вообще не использовать бутстраповский топорный навбар и за 5 минут написать свой, который будет лучше