There are two APIs documented which seem to serve the same purpose but are different APIs. I am building a custom GUI to use along with a self-hosted Jitsi backend. Which API should I be using?
Use the first, the iframe api.
If you want to use the second you need to implement the whole UI, basically rewriting jitsi-meet from scratch.
You should probably make that abundantly clear in your documentation.