How terraform stores the data is a separate implementation detail from the plugin protocol you are working with when implementing a provider.
Terraform does currently store the state returned by data resources, but only due to legacy constraints. That stored data is not used for evaluation by terraform, and can probably be dropped entirely in a future major release.