Так почему я получаю правильное значение 5,45?
Поскольку поведение программы не определено.
Дает ли мой код UB?
Да. Вы обращаетесь к объекту за пределами его времени жизни.
Является ли ссылка сейчас свисающей?
Да. Как вы сказали: временный объект вместе с его членом был уничтожен. Все ранее действительные ссылки на уничтоженный объект стали недействительными, т. Е. Свисающими.
// seems ok 5.45
Может показаться, что все в порядке, но, тем не менее, не в порядке.