> Tiles are supposed to be free when there is a side free
No.
According to wikipedia[1]: "A tile is said to be open or exposed if it can be moved either left or right without disturbing other tiles.". Also look at the photo in the wikipedia article[2]. This implementation looks correct to me.
[1]: https://en.wikipedia.org/wiki/Mahjong_solitaire
[2]: https://en.wikipedia.org/wiki/Mahjong_solitaire#/media/File:...