I went to university to study Electronic Systems Engineering, and particularly liked the courses in circuit design. When it was time to find a job, I decided to continue doing short-term summer internships so I could travel to more places before settling down. That shifted my focus from hardware to software, and now most of my work experience is in coding.
Designers who can code are more likely to work well with developers, understand the tradeoffs that developers face, and design accordingly. Startup companies might only be able to afford one employee to do design & development, so having broad skills is very good for small companies.
Big companies are appealing when thinking about settling down long-term. They usually want specialists rather than generalists, but with your experience, I think you'd be well-qualified as a designer or developer.
While you have more freedom in your contracts, do more side projects! Your Chinese-character app is fun :) (share it here!). It shows good design as well as coding. The logos you made for the Ultimate Frisbee club are also cool. Putting those on a flashy website and writing a couple of blog posts or comments here on HN might be enough to get job offers.
In the long-term, some skills endure better. The popular JavaScript frameworks change every few years, so coders have to keep retraining (although the basic principles are always the same). Advertising brings in a lot of revenue for tech companies, so they'll keep paying people to apply the same skills in that field for a while to come.
In 2019 I'll be making a change, but I don't know where that will lead me. If it involves pivoting my career path so I can go to a particular country, I'm open to that. You're still young, so stay flexible for another few years. Good luck! :)