I don’t consider race conditions a security issue, but a data integrity one. As I explain in the article, when not using proper techinics to handle concurrent updates you risk data in your system becoming incorrect.
Such risks (data integrity, not security) usually manifest themselvs in large systems with a lot of updates, and in systems with specific types of data (such as counters).
In my opinion, the reason you don’t see this in many tutorial in that most of them are targeted towards beginners. Concurrency is something that you usually have to deal with farther down the road. Part of the reason I’m writing about such “advanced” topics is that I feel, as you said, that not many people write about them.