Hi Zhan Shi ,
In short, yes you can have a list of layer names and loop through these names, access the layer in the map and use the intersect to see if the point hits any boundaries in that layer, use the count and return the layer name if any hits are found.
What might be an issue is performance. It will take multiple requests to the service and depending the number of layers, number of features in each layer and complexity (number of vertices) of the polygons, this might not result in an acceptable performance for the end user. It is however possible and you can test to see if it performs.
If you want some more detailed help, you could share the data to a group and invite me (xbakker.spx) and I will show you the Arcade expression that you could use.