Just to get things straight, since the Androids documentation uses these terms interchangeably and makes everything more confusing.
Pairing is the exchange of temporary encryption keys, which establishes an encrypted connection.
Bonding occurs after pairing, and is the exchange of long term encryption keys so that the pairing process does not have to be repeated every time.
Right now Im able to bond my Pi with my Android phone by running a GATT server on the board and using the Just Works pairing method. All of that code is based on this repo, which comes the article linked below:
Im interested in having an encrypted connection, but I don't want to end with a huge list of saved devices on my phone. After watching this video, I know it is possible to pair without bonding. This occurs naturally when one of the parties doesn't support the feature, which is why I thought the way to go was to figure out how to disable it on the Pi, similar to the video.
Another thought I had was to modify the agent, but I'm still not sure how to go about that since I'm using Just Works.
Any help is appreciated 👍