There's a big difference between a vehicle like yours with 168K miles and the OP's with 47K miles. A TB cleaning is almost certainly 'not' needed for the OP's low mileage vehicle and it's a classic way dealerships generate revenue for very little effort on their part. For your vehicle at 168K miles perhaps it actually needed TB cleaning but that doesn't mean a low mileage engine would.Personally I would do it. I have 2014 tech 168k
I wonder why they replaced your TB rather than just cleaning it - other than they made more money on the sale of a new TB rather than just a cleaning.
It doesn't sound right that a GPS antenna would cause your vehicle to not go over 20mph so I don't know why they would've even said that other than incompetence. It's good you found another mechanic who at least determined the source of the issue.