Right now, due to Covid, everything is more complicated. If you don't find opportunities now, that's not on you. Don't give up, keep trying.
Generally speaking, relocating will be seen as the more favorable solution, because you will need a VISA that includes an allowance to work in that country anyway. Even if you physically reside elsewhere, the company is still bound by the laws of the country where they employ you. Working remote in the same country (or in the EU maybe in the EU area) is just an infrastructure problem for the company, working remote from a different country is a major legal and tax headache for the company. So be prepared that many "remote" positions in Europe actually mean "remote, but inside the EU" or at least "remote, but has a VISA and working allowance for this country".
Companies are well aware of the fact that you cannot show what you did for other companies. That is normal. Everybody has that problem. You don't need a side project. Keep a working history, make sure you can talk about the general work you did. It might be hard to get a normal job if for example your former work is so classified you cannot talk about it at all. Most companies and interviewers can tell whether you are familiar with a tech stack by talking to you, by letting you talk about it. Not company specifics, but general stuff. For example you will never see my code, but I can talk freely about the time I was on the team that did the backend for a large ecommerce platform. I can talk about the problems we faced, what we did to solve them. And as an interviewer I can smell if someone actually worked with a technology, or just has it on it's CV. For example we are working with a specific frontend technology and I will mentally sort out all candidates that tell me they can do it and they never had problems with it. It's a lousy piece of garbage (and that's not my opinion, everything I hate about it exists as confirmed but unresolved bug reports in their repository) and anybody claiming to have had "no problems" with it, obviously did not use it. So bottom line: make sure you can talk about the deeply technical aspects of your code and nobody will ask you for actual code.
Your English skills seem to be very good. Stay sharp in that regard, communication is super important. Most of my colleagues from other countries that did not make it, did not fail on coding, but on communicating. You can be a rockstar, but if you don't ask to clarify the requirements and program the wrong thing, being a rockstar does not help a bit. That is a two way road, the company should have people that make sure you got the requirements right and help you along the way, but in the end, if those people fail too, it's your job on the line, not theirs. So in the end, it is your own personal interest to communicate as good and frequently as possible. English is very likely to be their second language too, so once you know where you are heading, take classes in their language.
Summary: keep trying. Experience is good. Language skills are helpful. You seem to be building both, you are on a good way.