Does Brazilian savings always yield 0.5% per month?
No. That only holds while annual Selic stays above 8.5%; at 8.5% or below, Lei 12.703/2012 switches to 70% of Selic, which in the 7% annual example results in just over 0.40% per month, well below the 0.5% ceiling.
Does withdrawing one day before the anniversary forfeit everything?
Not the principal, only the yield for that open period: savings accounts credit interest only on the monthly date matching the original deposit, so withdrawing before that date zeroes the yield accrued since the last credit, even with only a few hours left before the next one.
Does TR change the result much when Selic is high?
Historically very little: TR has stayed close to zero since 2013, so under the Selic-above-8.5% regime, yield is dominated by the fixed 0.5% monthly rate, with TR adding little on top of it in recent practice.