Mutable или T* const?
mutable показывает что с нашей точки зрения атрибут не сильно важен и не влияет на константность класа. Тоесть например, если мы передаем класс аргументом в функцию, например, то ничего страшного не произойдет, если атрибуты mutable будуть изменены. Тоесть при использовании mutable нужно ответить на вопрос: Содержит ли атрибут очень важную информацию или нет.

А что касается с T* const то в данной ситуации это и есть костыль. Используя mutable мы декларируем, что собираемся изменять атрибут, а вот T* const этого как раз не говорят. А потом будет тяжело разобраться кто есть кто.
Если речь идет о каком-то конкретном методе, я бы использовал const_cast. Он легко ищется в коде и показывает на явный костыль.
Если их много — тогда mutable.