Thanks for your reply…
So I did some experimenting and turns out,
Clock works great when config.txt has remarked out.
#Turn on HyperPixel lcd
#dtoverlay=hyperpixel4:rotate
and while LCD AND Clock connected, LCD works fine even with this enabled.
This is to enable the DS3231 RTC clock
dtoverlay=i2c-rtc,ds3231
So, I have different configuration for a different purpose. To swap LCD and HDMI depending if HDMI is detected.
Basicly , if hdmi is detected, then it renames and uses the HDMI config.txt file, if not detected then it uses the LCD config.txt
So in this theory, setting clock from ds3231 asap and then using a config.txt that has Hyperpixel enabled in confi file should work.