Mobile devices on hotspot constantly having to relogin

To start off I have searched through the forums and gone through the wiki and tried multiple fixes. The issue I have is with the hotspot we have it set so that users must authenticate every 6 hours (Yes I know its a stupidly short time. Client wants the landing pages seen every 6 hours) The last few months I have had a uptick of complaints from people where they are constantly having to login every 5 min or even every hour or so. Basically they are not getting to the 6 hour mark. Here is my basic hotspot setup right now.

/ip hotspot profile
add hotspot-address=192.168.100.1 login-by=cookie,http-chap,http-pap,mac-cookie \
    name=hsprof1 use-radius=yes
/ip hotspot
add address-pool=Pool1 disabled=no interface=Guest name=\
    11608 profile=hsprof1
/ip hotspot user profile
set [ find default=yes ] address-pool=Pool1 mac-cookie-timeout=6h \
    session-timeout=6h shared-users=600 transparent-proxy=yes
/ip hotspot walled-garden
add comment="place hotspot rules here" disabled=yes
/ip hotspot walled-garden ip
add action=accept disabled=no dst-host=login.a2dhotels.net

My best guest so far is mobile devices keep going into low power / sleep mode. I was wondering if there is something else I might be missing to resolve this issue.

And when they wake up, they connect to hotspot using different anonymized MAC address.

You can verify this theory by inspecting the registration table … any MAC address with second-to-most-significant hex digit having value of 2, 6, A or E is locally administered MAC address which are free to “invent”. Any many modern mobile phones (iOS, Android) do that by default. There was a discussion about that already: http://forum.mikrotik.com/t/ios14-use-private-address-random-mac-default-and-time-restrictions/144484/25

I have considered that and I am aware of it. It actually caused issues for devices we have bypassed before IOS14.

We are seeing some devices that do not do this though having to relogin. I am going to keep looking more into it and see if I can reproduce it more consistently so I can packet capture what is happening to figure it out. Just wondering if someone else had ran into problem and solved already