Hi @Aw Ke Shen!
I love the concept of this piece! It's amazing that you managed to stay in strict canon for the whole duration all the way to the end. But do note that even in Bach's music canons are broken at cadential points or to let the music finish on a satisfactory conclusive finale which this piece lacks because of your strict adherence to the canon.
Formally, I also don't see the piece as being atonal at all. You start off in A harmonic minor and stressing the E7 sonority which is a great way to build expectation by starting on the dominant of any given key. At letter B you stray somewhat from this sonority by briefly introducing a D# into the mix (which should really be an Eb imo). Then at letter C you move to a G7 sonority which you continue also at letter D the end of which is in C major as you said. Letter E is a short transition to F, but I don't think that F is in F major. Instead, I hear it as a continuation (at first) of the C major section stressing a B diminished sound. But then you re-introduce the G# bringing the sonority back to E7 and A harmonic minor (even though you end the section on an F, there's no Bb's which would help you suggest F major if that's what you wanted). At letter G you continue that E7 sonority without resolving to the (to me) obvious key of A minor which would have been a great way to end the piece.
This piece is a perfect specimen for analysis through Bartok's Axis system. In short in Bartok's Axis system, every member of the chromatic scale gets a tonal function associated with it - either tonic, subdominant (or pre-dominant), and dominant functions. For example, in this piece, C and A function as the tonic centers (the other tonic functions could also be Eb and F#). But you don't start with the tonic, but the dominant E7 (which is also interchangeable with G, Bb, and Db). You don't have any pre-dominant functions in this piece which could have been either D, F, Ab or B.
Thanks for sharing this quirky and unique canon!