It's best if you describe your entire architecture then, because I was only going on what you stated in your OP... you "have to send data from Raspberry Pi to Google Cloud, process it, and receive the result back to the same Raspberry Pi." I answered that your use case looks like it fits Cloud Functions better than either App Engine or Cloud Run. There was no mention of GCS (Cloud Storage) nor Cloud Datastore. As mentioned, you *can* use App Engine to get the RaspPI data, process it, and return it, but it seems like it would be easier to use Cloud Functions instead to do the same thing.
Cloud Functions can take the data, do some processing and return it, just like App Engine, but easier. However, if the code that processes this data is more complex and is an entire *app* where you have many components or need to persist, provide a web UI, etc., then yes, App Engine would then be better. Cloud Functions is for serverless unction-hosting in the cloud, App Engine is for serverless app-hosting in the cloud, and Cloud Run is for serverless container-hosting in the cloud.