Question: We would like to get rid of the Tridion Broker as part of a project and publish content directly to a repository as part of a Storage Extension. 

My question is, is there any deep dependency that Tridion has on the Broker that might mean things work in a sub-optimal way, or gotchas that I should be aware of?

Update - We are going to be using Tridion purely as a content store which will push out JSON. There will be no functionality or any form of business logic/UI.

Answer: 
I would be vary wary of any approach that removes all Content Delivery functionality, or the ability to hook into it. Customers I have seen that take this approach due to whatever requirements, tend to become very dissatisfied in the long term. Usually they bought Tridion for the whole package of functionality, CM + CD. 

Some typical issues are:

1. Upgrading - if you build your own Content Delivery framework, this needs to be tested and updated before the client can upgrade their Tridion version. Maybe the people/organization that created the framework have moved on, and no-one knows how the heck it works any more anyway. I have even had customers who didnt even have the source code for their framework!
2. New product features - Tridion releases a new version or module with feature X that is amazing. The sales guy does the hard sell, the customer MUST have it... but wait - it requires Content Delivery elements, which are not part of your framework

So think carefully before following this route. You can still publish JSON to Elastic Store with Tridion, but I would try to keep standard Tridion CD for as much as possible...
This sounds like an unusual implementation.

It might be worth blueprinting your website to allow you to localize the templates to render the json. The new child publication could be used with a new deployer for you to test if this gives you the output you need without any missing functionality.