Hi Justin,
I will be doing precisely what you describe very shortly. I have used the IOIO-OTG board to do this already, but from pure Java and a traditional Android app. It wasn't that bad and might be a simpler "first pass" for you.
I have since spun my own board using an FTDI chip and written the firmware for it. I used a USB-UART with a separate micro to translate the UART to I2C - not sure I would take that approach again. I would likely just go for the 232H. For some reason I thought I needed more flexibility on the other end of the protocol conversion. Anyway, my plan is to use Kivy and write an app for both Windows and Android using this board. I have not made it past a simple Python script to talk to the board outside of Kivy, but I certainly will share my experience as I go and would love to hear any ideas you have or progress you make.
What I am hoping is that we can take the C-based FTDI .dll and write a wrapper for it in Cython, and access that from Kivy directly. No Java or pyjnius involved at all. I have some experience wrapping things with Cython, and I know Kivy uses it. I'm certain I can make that workflow work on Windows - just not sure about the whole cross-compiling part of it to make it work on Android. Hopefully this can all be done in Buildozer.
If anyone has experience shoehorning their own Cython wrappers and C libraries into the Kivy workflow - that would certainly be useful to know about.
Mark.