Hi nikoleta,
It's glad that your problem has been solved.
As you said, trailing slash and restart of portal are all required for final work.
* Shouldn't the apiEndpoint point to the EvtMgmt/api/v2.0/ given that the approach that I am using is deprecated?
In my opinion, "deprecated" here would be not proper, because "EvtMgmt/api/v2.0/" is used for self-hosted way,
however, as doc of portal hosted has stated: apiEndpoint variable should point to Portal URL.
The model in portal hosted doc indicated that Event on Portal is driven by Dynamics 365 plugins instead of new Event Management Public API.

* Should there be separate environment.ts for localhost and for deployment to the portal?
Actually in new downloaded sample website files, environment.ts is an empty file,
while contents in environment.d365.ts and environment.selfhosted.ts are almost same,
the difference is just that default values have been formatted for different deployment purpose.
So if we can host a test website at local with environment.ts, then we can also keep it for deployment, no separate file is needed.
In deed, environment.ts just make website works at local machine to let us make customization, when everything customization is done,
the script DeployToDynamics365Instance.ps1 for deployment will only update modified files to corrensponding files in Portal, environment.ts won't be uploaded.
* Is there a missing CORS setting in addition to the one that I did for the home pages?
I havn't event portal to test for you, but you can try to add http://localhost:4200 to site setting with this part:
https://docs.microsoft.com/en-us/dynamics365/marketing/developer/portal-hosted#configuring-cross-origin-resource-sharing-cors
(not sure localhost would be also passed by adding a CORS rule)
You could also take my anwser in this thread as reference to see whether it could help:
https://community.dynamics.com/365/marketing/f/dynamics-365-for-marketing-forum/376526/http-failure-response-for-event-portal-w-custom-domain
Finally, please feel free to raise any question, I'll try my best to give any thought.
Regards,
Clofly