Okay, I'm about to fuss a bunch here, and I want to be clear it's because I was really, really into your game and got a bit frustrated that it suddenly fell apart at the end. Cool? Okay.
Let's consider the core gameplay loop presented: Gather resources, defend the tower, expand your vision to gather more resources, scale up exponentially.
Now let's look at your antagonistic elements: Enemies that spawn with no pattern (we do not want the player to predict where they will be), enemies make no noise until they're on the tower itself (we want the player to actively seek the ghosts, not react to them.)
In my experience the goals of your core loop and the goals of your obstacle loop were at odds with each other. I want to expand expand expand, which means the longer the game goes on the less time I want to be spending staring at my starting area. The longer the games goes on the more I want to be placing ever increasingly large numbers of gathering buildings and cleaning up the old ones, farther and farther to the edges of the map.
The conflict created between the two systems is a good one. Early game felt solid and even on into the mid game, I felt stretched thin but not unreasonably so - I was challenged. Unfortunately the conflict doesn't scale, which is very much what your game centers around. At some point my expansion went beyond whatever curve existed and suddenly one-clicking ghosts wasn't enough. There were constant ghosts every few seconds and I ended up in a scenario where I had time to pan the map, clear a single building or place one, then I had to rush back over to my tower to click down more baddies.
At that point the delicate balance you'd nailed fell apart and suddenly the game didn't want me playing it anymore. It wanted me at home, clicking ghosts, and nothing else.
You have some systems in place to help mitigate that issue. The reflection mechanic and the heal assist are both interesting choices systemically. It seems to me you very much wanted the player to be the only solution to attacking ghosts, so all the power-ups act in service of delaying the threat or recovering from it if the player wasn't in time. Obviously you COULD combine the two buildings mentioned before in large enough numbers to let the tower defend itself in a sort of berserker fashion, but there's one big obstacle preventing that; resource scarcity.
Resource nodes expiring was a really great way to encourage me to expand ever outward and constantly be looking for mines to clear and refresh. But that combined with how completely rare diamonds are made that a problematic mechanic. I spent the majority of my playtime where diamonds were a factor with only two or three nodes uncovered. It wasn't until way late in the game that I found a field of nine or ten so far away that it wasn't realistic that I would be able to set up a bunch of mines there and still have a tower to come back to.
Almost all of your mid to late upgrades falter because of this.
Those are the big observations I wanted to make. There are a few QoL things I could suggest - having a dialogue box to clear an exhausted building seems redundant when it could just clear itself away on click if it knows it's exhausted. Hotkeys for the basic harvesters would have been a good way to keep players out of menus and zipping around the map. Etc.
This game is a good game. It was ambitious for the time frame you had and you executed on it really well. The wandering music fit the flitty gameplay style well. The camera move speed felt good. Clicking things felt good.
I hope you come back after the jam and patch it up a bit. For the sea of text I've forced upon you, it honestly doesn't need much. Tweaking just one of the things I mentioned would very likely nudge everything else back into place. If you do, let me know so I can beat the darn thing!