Short version
LinkedIn: position yourself where the client is (or you can invite to) and qualify for their needs. Describe who you are in regard to expertise and problems you solve. Provide detailed information on projects you've worked on, issues you've been challenged with, and the caliber of solutions you deliver.
GitHub: keep private projects private; show that you respect and value your clients' competitive advantage.
Use a presentation tool to demonstrate how you code, and your process, so they can see you will work smoothly with theirs.
Questions on their specific project can more properly be discussed in detail on email communications or a one-on-one meeting.
Long version
I would suggest you solve three different things each on its own proper way. I believe it's the best way you can carefully respect your duties as a freelance they'll later trust on.
Position yourself where the client is
Goal 1: be seen and engage potential clients.
Solution 1: LinkedIn profile (you can direct others to it, too). Position yourself as a problem-solving person where potential clients are, by describing what kind of work you do and specialize at. Describe in detail each job you've done. In text. What was the problem(s) you solved and succinctly how you did it. The goal here is to position yourself as a candidate to solve your next client's problem.
Value 1: position yourself in front of the client's decision-maker, with some language on the problem they are facing. They just see here whether you would qualify for their current needs or not, and know the basics of how you address problems like theirs.
Private code and clients' ownership
Goal 2: show your future clients you respect clients' ownership.
Solution 2: keep your GitHub free of code you don't own. One alternative is to replicate the project with a public version, same folder structure, and just empty each file contents with "code kept private". Or replace actual code by a short explanation.
Value 2: if you attract clients that pay for ownership, next ones will probably also value that you fully understand and guarantee that. In keeping clients' code private you're protecting their competitive advantage. That's a lot.
Show your expertise
Goal 3: show how you code.
Solution 3: make a video showing your work standards, including constructing solutions, coding style, testing, and maintaining a GitHub repository.
Make this a short presentation. The goal is not to understand what you did (it's still private), nor teach them how to do it, but to show what processes you follow and what kind of decisions you are used to make.
Value 3: if clients have already seen you've solved problems similar to theirs, they can assume you may be able to do the job, but still need to see whether you'll adapt to their processes. When you show them how you code, all that's left is to ask you about their specific problem.