I am only responding by understanding the points you mentioned. The response is limited to only that you are already ranking as you mentioned
Getting ranked for low competition keywords in google, does not guarantee organic traffic. There is high chances of no traffic even if you rank on top. The reason is that there are keyword does not convert any traffic. These includes those keywords that people rarely search for, thus they have low competition.
You need to get this fact, that if you are already ranking as you mentioned, then still you are not getting inorganic traffic, then you need to find the keyword for which you are ranking, Then you need to find the traffic it generates on an average. You will then get to know, if keyword is the issue. Whether you have chosen low traffic keywords.
If it is a traffic keyword, then you need to why you are not getting traffic. This can be understood by analyzing your meta that might be affecting CTR. You page load speed. These all are before, someone get's to your website and become a visitor to be included in the traffic of your website.
I am not going to say to build backlinks, social signals ,user-friendly content, because i believe you already aware of these.
You should always try to rank for traffic keywords that are high competitive as well as low, and include both high and low competitive keywords in the content. Keyword density is at it's place, but the most important is relevent. Including relevant keywords in the content. You can get them in the google's "you might also be interested".
When you publish your content, try to rank in the first 5 page after the content get's indexed without any seo work, if you are able to do so. Then you can continue to do some more work on improving it. If it is not in the first 5 page, just delete it and re-create content. It is going to be hard for you to rank for that.