Is there a logic to not show fields that are empty (besides stylesheets and creating hundreds of different forms). This question in general, but specific for the External Link property I have on the form that is build up by values from the meta-model. (looks a but strange that you see a URL and nothing happens when pressing on that link, because the value is not in the metamodel).
You could use conditional visibility on the table row that contains the link widget.
Create a Boolean attribute named 'LinkHasValue' (or something similar) that is calculated by a microflow.
In the microflow, return whether the link has a value (e.g., $obj/Link != empty).
In the table row, edit the condition for visible and select the attribute that you just created.
Now you can configure the row to appear when the link has a value, and disappear when it does not.
See this page for more information about conditions.
Hope this helps!
Edit: In 2.4, the condition settings are somewhat hidden. You should right-click a table cell, click the 'Select row' option, and then right-click again. Now the option 'Set conditional formatting...' should appear. Click that to get to the condition settings screen.