Nice post. Apart from the naming this is the approach I use for MVP. One thing I also do is I make sure to update the existing objects (with the same id) when I fetch new data, in order to keep my instances unique (one instance per id).
The benefit of doing that? If user “likes a post” on Activity B I can just call notifyDatasetChanged() in Activity’s A onResume() so the like will be visible when he finishes Activity B (as they are both using the same instance of the updated object).