Your algorithm on the other hand does not need to modify the order of the queue on a Get (just mark single item as hit if not marked already) which is really good. But on Insert your algorithm needs to do a reverse scan through the queue until it finds an item it can evict (not marked as hit). This might need to walk the whole queue if unlucky. And it can get so bad that it needs to do that on every single eviction so latency and CPU usage could skyrocket. Granted, this is a worst case scenario that shouldn't happen usually but if it does then it could be a real problem.
So in that sense LRU would be O(m) in terms of queue modifications and reads but yours would be O(n*m) for queue reads.
The O(n) I mentioned was for the number of items the algorithm needs to check on a single insert that results in an eviction aka the usual case.