I would go with Approach 2,5, it is a mix of Approach 2 and Approach 3 where you save the downloaded file to a database so you do not download the same file multiple times and then play it.
Some clarification, as I understood Approach 2 would only have more poems if there was a Google Play update and Approach 3 was streaming. Using Approach 2,5 you will get the storage from Approach 2 and the playback from Approach 3.
Update: The term I was looking for was to synchronize data. Approach 2,5 is really just a way to download for instance a JSON and parse it then download the files and put it in a database where the app later can access it. With this approach the user need not update the app and if you want to remove a poem that is also possible.