Is there a tool that lets me cut video with frame precision?
You may use free open source AviSynth+ — it's a scripting language with the very good documentation.

Example:

clip   = AviSource("MyVideo.avi")    # Reading clip from disk
clip   = clip.ShowFrameNumber        # Showing frame numbers of individual frames

part1  = clip.Trim(   0,  1000)      # Selecting frames with numbers 0 to 1000
part2  = clip.Trim(8000, 12000)      # --- similar ---

result = part1 + part2               # Joining two parts
return result                        # This will be the resulting clip




Note:

The second command

clip   = clip.ShowFrameNumber


is used only in working process to see frame numbers, in the final result you have to remove it.