Unfortunately it looks like performing a field calculate across databases is not supported at this time, my guess is that Esri currently doesn't support this for performance reasons. You can double check this by looking at the arcade profile for the field calculate operation ( https://developers.arcgis.com/arcade/guide/profiles/#field-calculate ).
However, if you look closely at the profiles in Esri's help page (or the convienent table I put in my article https://www.powereng.com/insights/my-three-favorite-features-in-arcgis-q1-release-for-arcgis-profess... ) you can see that we do have access to the map profile in popups. If you did want to create a popup to do this you would configure the expression on your shoreline feature class and have it display the value from the shoal that it intersects with. This will involve using the featuresetbyname and intersects functions. The expression would look something like the following:
var all_features = FeatureSetByName($map,'USGS_GEOL_FloridaBayShoals', ['NAME'], true);
var coincident_features = Intersects(all_features, $feature)
First( coincident_features).NAME;
At that point any time you clicked a shoreline on the feature class, it would automatically display the corresponding island name. This may be good as a short term workaround, but in the long term you will likely need to use geoprocessing tools in order to do this calculation. Using model builder you would perform a spatial join between the layers, create a map join on the two layers in your map, and use a normal field calculate to set the value of the Shoal.Island to be the Shoreline.Name.
I look forward to the day that I can use Arcade to do these sorts of tasks, but unfortunately it's still working up to replacing the power of more traditional Geoprocessing tools.