This depends on the definition of external and internal.
If by internal is meant that the server, its FQDN or IP cannot be reached by external users (e.g. Intra-, Internet) then you will face a hard time.
Should the server be reachable than this would you the matter of placing the correct link (e.g. http://localhost/ServiceDesk.WebAccess/wd/object/create.rails?class_name=IncidentManagement.Incident&lifecycle_name=NewP… )
Note: that user need to identify themselves first (logon). If this is the main definition between internal and external, than you might need to design your own interface and use EventManger to open a new Incident.
In this case your own Interface is sending the new case as an Event to SD.
This then would also eliminate your worries about sending the users back to the default dashboard, as this is built in. The user needs to see something from the Interface.