The number of significant digits in 0.1km is 1 and we know that 1 km = 1000m.
This then implies that the 0.1 km is equal to 100.0 m, but the rule says the change in units doesn't affect the number of significant digits
So how come the value in m has more significant digits?
I am really confused by it and the error I can find is that the value in m should be 100 m, then the number of significant digits would be same but then the question arises that can we remove decimal like this.
You are right, writing $100.0\,m$ usually implies that the value is accurate up to the first decimal, hence with an accuracy of $1\,dm$ and $4$ significant digits, whereas unless otherwise stated $0.1\,km$ is accurate to a tenth of a kilometer and has a single significant digit.
So it would be more correct to say
$$0.1\,km=100\,m,$$ though some doubt can remain about the number of significant digits in the RHS.
After re-reading the question, I seem to understand that keeping one digit after the decimal point is your choice. This is not the way it works, you have to keep the same number of significant figures, not the same number of decimals.