How can I choose my specialisation in computer science?

To explore the different domains, first you have to get familiarised with the courses that you will be studying in your undergraduate program.

You cannot deep dive before you learn to float. So take up your UG subjects seriously. Slowly you will figure out your favourite subjects. Make sure you get your Mathematics fundamentals right. That will give you a strong foundation to understand all the branches of computer science you have mentioned in the question.

You have lots of resources available online. Google will be your saviour.