A few years back I saw something similar where subreddits were presented like a tree, based on topics (and popularity, I think). Made it easy to drill down to interesting niche subreddits.
You are skipping a step there - it's red -> green -> refactor
As for "tactical programming instead of strategic design" - that's entirely up to the developer and how they approach the problem. if you are prone to neglecting the design you'll do it any way. If anything, (actually) practicing TDD would force you to come up with better design.
The main reason for not working NGINX examples is because there are two NGINX ingress controllers - one by NGINX and one maintained by k8s. Real fun if one does not know this upfront. Ingress api version changes don't help much, of course
You don't need precise specs to practice TDD. If you have idea of the code you need to write, you can write the test for it beforehand - no matter how often someone might change their mind about the app.
Doing so would actually make your life a lot easier when it's time to alter functionality, because now you have well tested and testable code. Code that is written to be tested is usually a lot easier to reason about, to change and extend.
If you do it in concise manner and test behavior rather than implementation, what you previously thought of overhead will actually speed you up.
All other Python options I've seen feel too involved or leak too much into your code. Lagom seems to balance everything just right.
Thank you!