Then it is clear, for your server 2 client not your user accessing it via LAN or internet, but rather is Server 1, that accessing it via IP address. This drives to situation when IP address being shown instead of FQDN. To do so, you needs to make Server 2 NC aware about proxy and Host name accessing via Server 1.
There are few similar topics Search results for 'nginx apache reverse proxy' - Nextcloud community
Not sure, but it could be that you need to add this information via:
<Proxy "/">
RequestHeader set Host server2
</Proxy>
ProxyPreserveHost On
ProxyPass / http://192.168.1.221
ProxyPassReverse / http://192.168.1.221
I believe there are few headers that you need to set. E.g. this is nice example and it is solved: Nextcloud behind Apache reverse proxy, remote.php becomes remote.phpp
Also check nextcloud config: