Draw grid programatically with borders
I solved it by drawing the borders 1px outside of the squares bounds. This way I was able to simplify my method enormously:

private func drawBorder() {
        var borders: [Border] = [Border(edges: .all)]
        if self.tackleBoard.isCornerStone(atLocation: location) {
            borders.append(Border(edges: .all, color: Theme.shared.alternateStoneBorderColor))
        }
        if location.row == tackleBoard.boardSize - 1 || location.row == 1 {
            borders.append(Border(edges: .top, color: Theme.shared.alternateStoneBorderColor))
        }
        if location.column == tackleBoard.boardSize - 1 || location.column == 1 {
            borders.append(Border(edges: .left, color: Theme.shared.alternateStoneBorderColor))
        }

        self.addBorder(borders)
    }


This produces the same result as my first code snippet but is way more readable I guess. I am happy with the result now. However if someone has a better solution for me I'd love to improve the code :)