Bti -- Bacillus thuringiensis subspecies israelensis -- ...common brand is "mosquito bits" or "mosquito dunks" -- bits are a top dress, dunks go in a reservoir. The dunks defnitely leave chunks of material in rez.
you can use this preemptively. it is a subspecies of bacteria we have used on the world's food crops for a century? more? a long time at this point. it is safe. top dress every 2-3 weeks and you will rarely see anything that comes from larva in soil -- not just gnats. You may see 1 fly around occasionally but it will never escalate beyond that.
mid-problem they will take 2-3 weeks to have full effect. but continue sticky trap use to kill from both ends of life cycle to speed that process up.
nowadays i use bti the first few weeks after sprouting and after any transplant - whether i see anything or not. These pests often hitch a ride from the store in your substrate. If i don't see anything after a few weeks i stop using Bti. I slap a yellow sticky trap down in tent somehwere and maybe 1-3 flies will be caught in an entire grow cycle at worst. i don't even bother to do this too often anymore.
DE will impact insects, but they have to walk through it. I do not suggest putting DE on top of your substrate. This will lead to a gooey, water-retaining layer that will make irrigation a hellish and long process. Also, wet DE is useless DE as far as killing pests. Only use foodgrade DE. DE for filters (pools and such) is going to have potentially nasty shit in it.
Effectiveness of neem mostly depends on local regulations regarding pesticides. if your label does not include "azardirechtin" (or close to that spelling, lol) it is not going to kill any pests. the smell may still repell them and foliar sprays will still have some mold preventative properties - that of horticultural oil and the like. My state does allow the sale of neem oil with azardirechtin. it is "clarified neem" oil only. or the concentrate is techinically 70% clarified neem oil.
using clarified neem can still provide benefits. It won't control a problem, though.