I am thinking about buying a Streak Freeze, but I've heard that you have to wait 24 hours before it activates. Is that true?
Streak freeze works when you don't reach your goal (xp) for a day. So you will only see it work when you miss a day/don't reach your goal.
Though if you buy one now, it would make sense to do a lesson and reach your goal for the day.
That's not correct! It may be "equipped" immediately, but it will only work from the next day onwards (not 24h per se, but the next day). So if you go online to buy a streak-freeze and do no lessons that same day, you WILL lose your streak. You'd be better off by doing a quick lesson if you're online anyway, as El2theK already pointed out, but you won't be the first to lose a streak like this.