Some of this you may have tried, but could be worth double-checking:
- Have you tried running your FreeMarker template through a linter to make sure there are no errors that might explain some of the behavior you are seeing?
- Have you tried printing the full URL on your server (in a debug-like puts/print statement) to verify the presence or absence of an HTTP schema in the link and that the link is not broken?
- Does the Freemarker template appear as you would like it to when you "preview" (there is a preview button there) the template in FusionAuth under the themes section?
At the moment, I don't have any other suggestions but will post back here once something else comes to mind.