Should I Use Classic TDD or Outside-In TDD?
Both. They are two different approaches, and different situations require different strategies. The question is not "should I use classic TDD or Outside-In TDD?", but rather "when should I use classic TDD and when should I use Outside-In TDD?"
When our knowledge of the problem/domain is not very high, classic TDD is a great way to discover/explore solutions. If you are a beginner, classic TDD is a lot more accessible, since you don't have to take design decisions without feedback. Outside-In TDD requires a deeper knowledge of design since we don't get the feedback loop of the mess, but it can be a lot more efficient and focused on the business. In the end, context is king, and we should use the most appropriate technique required by the context.