wp_get_attachment_image_src returns image on main domain, false on subdomain

wp_get_attachment_image_src() takes ID of attachment “post type” (in quotes because it’s native WP post type so not quite same thing as CPT).

Now while users are shared in multisite, posts are not. The ID (94) that points to specific attachment in your main site has no meaning whatsoever in any other site of your multisite.

At which point it boils down to mucking with getting data from different site. It might be easier approach to store actual URL to image in user metadata as well.