The only way it would hurt SEO is if the new domain had previously been registered and used in an abusive or black hat manner. Just registering a new domain, with no history, and 301 redirecting it will be fine. (But do make sure all the redirects are 301s - permanent - to ensure search engines continue to index the existing domain, and not the new one.)
Using a 301 redirect for this is indeed the correct way to do.
Should you "move" your EN site from example.com to example.com/EN? Probably not - there's nothing to gain from doing this, it's perfectly fine to have the main language in your main domain (not only that but people probably expect to).
There is a risk with URL changes of SEO problems, ranking loss, and traffic declines. When correctly implemented with 301 redirects, it can go perfectly fine, but it doesn't always do so.
I recommend changing URLs only when there is an overwhelming need. If you do want to change URLs you should consider gentler changes as well:
Chang the URL structure ...
If you correctly put in 301 redirects and update your sitemap, the site will be fine. However...
What are you trying to gain from this change?
The Stack Exchange-style hierarchy doesn't make sense for what it seems you're trying to accomplish (a Wikipedia-style website?). What you currently have makes more sense in terms of organizing the information:
What you are seeing is default behaviour on Apache.
when I enter random subdirectories, such as /index.php/asdfghjk
/asdfghjk is an additional path-segment in the URL. It's not strictly a "subdirectory". (Directories and subdirectories relate to a filesystem. The URL does not necessarily map directly to the filesystem.)
When additional path segments ...