It's been a little while, but unfortunately not much has progressed.
I have contacted the developers of the MonoBrick Tunnel and haven't heard anything back yet. This has encouraged me to go with route 2 and try to develop a custom app to handle connectivity and web serving. It has been an interesting couple of days...
First of all, I have no clue what I am doing, so I first tried to get the NXTBotGuard project I linked earlier to work. After downloading Android Studio, I found that I could import the Eclipse project and convert it into an Android Studio project, which is awesome. However, running it, I ran into a lot of issues. Firstly, the NXT brick refused to connect reliably, with the app crashing at random intervals. Even when the Bluetooth connection succeeded and I was able to access the hosted web page, entering in the password caused the app to crash. Reading the Logcat files, I determined that something concerning the phone's camera stream was causing it to crash, but due to my limited Java knowledge, I (still) have no clue what.
With this frustration I decided to bit the bullet and just start personal development of a custom app. Using copious amounts of copy/paste from NXTBotGuard and a plethora of external websites, I managed to form a simple app that enabled Bluetooth, listed paired devices, scanned for devices, and displayed them in a list view for user input. So far, it is able to connect to the NXT quite reliably, and does not crash like the NXTBotGuard app.
However, the next step is where I am (still) stuck. NXTBotGuard makes use of a lightweight HTPP server known as NanoHTTP. Again, I have no idea how it works, so that is my next project.
First to figure out Java's multi-threading architecture...I am so lost...