The canon is really inconsistent about it from what I've seen, so it's really up to each person to decide how it works for the purposes of fanfiction and stuff. In my opinion, when I write about it:
- Press the button while it's small, and it becomes large
- Press the button while it's large, and it releases the Pokémon
- It automatically becomes small when a Pokémon is recalled (I don't remember that ever actually happening, but it makes sense to me)
- Double-tap the button while it's large to make it small (yeah, I completely made that up, but hey, how else are you gonna do it)
I think everything you said is right, and I even think what you made up makes sense. The thing is, I'm pretty sure I've seen Ash press the button to make the Pokéball smaller when he was switching out too, so it doesn't make much sense. Does the Pokéball know what context he's pressing the button for when it is large? It's very confusing.