The king is 3 points worth of value?! No way!
All 30 Pieces in Variants and How They Move
Values depend on board size and shape. In particular, leapers decrease in value compared to sliders when the board gets larger. Diagonal sliders increase in value compared to orthogonal ones when the board gets wider.
A non-royal King is appoximately worth as much as a Knight. Both are 8-target leapers, and what it lacks in speed, it makes up for in 'concentration'.
It seems the 'General' (K+N compound) seems severely underestimated here; it is closer to Queen than it is to Rook, on 8x8. Archbishop should be around 8 if Queen = 9. Grasshoppers seem overestimated. These are probably better than Pawns, but not much better. Piece values are dominated by their end-game values, and for hoppers the value shrinks enormously if there is not much to hop over.

What do the cobblestones and holes do?
If you mean the brick and transperant brick (on my version)
Bricks are just an immovable objects that only pieces that jump can go through
Transparant bricks are just bricks that look like the background. So you can give the impression of the board itself being shaped a certain way, and it looks more smooth than bricks
The Duck is also just like the brick, it doesn't do anything unless you play duck chess.

Piece values are dominated by their end-game values, and for hoppers the value shrinks enormously if there is not much to hop over.
Is endgame value really the most important? A knight sees an average of 5.25 squares at all board densities. If we standardize that to a value of 3, the rook gets a value of:
8 on an empty board.
7.06 on a board with 4 other pieces.
6.08 on a board with 9 other pieces.
4.99 on a board with 16 other pieces.
3.98 on a board with 25 other pieces.
3.47 on a board with 31 other pieces.
3.00 on a board with 38 other pieces.
2.51 on a board with 48 other pieces.
2 on a board that's completely full.
If we assume that every game ends with 5 other pieces on the board, that two of them are always kings and so have no chance to be a rook, and that the value of every piece is proportional to its crowded mobility when traded or when the game ends, we get a value of 5.041, which is quite reasonable and essentially weights every part of the game equally without having to weight endgame values any higher than any other point in the game.
One could do a more careful analysis factoring in weighted mobility, forking power, pinning power, developability, forwardness, blocked synergistic secondary or tertiary mobility, piece safety and defended/attacked mobility, the leveling effect, or whatever else, but I feel like no matter what method you use, you won't get endgame values contributing all that overwhelmingly.
Incidentally, the same methodology evaluates bishop as 3.5749, but part of that should definitely be for half of a bishop pair.

Values depend on board size and shape. In particular, leapers decrease in value compared to sliders when the board gets larger.
This isn't true for long leapers. The mobility of a 3,2-leaper "Zebra" relative to a rook at a chess-like magic number of 0.75 is increasing with board size, and only begins to decrease once the magic number is about 0.8 (i.e. a board density significantly lower than chess). The main reason is that while a rook can theoretically move the length of the board minus 1, it is often blocked before it can go as far as a longer leaper.
At the same 0.75 magic number, camels are best relative to rooks at a board size of 12, which while certainly not rare, is not small either. Does it make sense to say that the value of camels relative to rooks decreases with board size? Sure. In the limiting case, but a camel is more valuable relative to a rook in the infinite case than on 8x8 if the board density stays chess-like.
It seems to me the value 8 for a Rook on an empty 8x8 board is a gross overestimate. Values do also not follow a rule of strict proportionality to the move count. (Which we already knew from the fact that Q > R + B.) You have to take account of the fact that players tend to put their pieces on good squares, avoiding bad squares, and that the opponent cannot fully prevent this. So a Rook will reach nearly its full mobility on a board that is significantly populated. Because you will find them on open files, not hidden behind their own Pawns.
Also, a Knight only has 5.25 moves on average for all board fillings if you count moves blocked by friendly pieces. But these are not nearly worth as much as those to empty squares or captures. Most engines award zero for such moves in their mobility evaluation term.
A method that averages mobility homogeneously over all squares is not even self-consistent. Imagine a piece that can make one orthogonal step everywhere, and slide like a Bishop on the black squares. Such a piece has a lower number of moves averaged over all squares than a Bishop, while it is obviously much better, as it is upward compatible. Of course you will usually keep it on the black squares, but it is worth a great deal that from there you also attack white squares, and can temporarily stray there when the need arises.
So your calculation is really too simplified to prove anything.

It seems to me the value 8 for a Rook on an empty 8x8 board is a gross overestimate. Values do also not follow a rule of strict proportionality to the move count. (Which we already knew from the fact that Q > R + B.) You have to take account of the fact that players tend to put their pieces on good squares, avoiding bad squares, and that the opponent cannot fully prevent this. So a Rook will reach nearly its full mobility on a board that is significantly populated. Because you will find them on open files, not hidden behind their own Pawns.
Also, a Knight only has 5.25 moves on average for all board fillings if you count moves blocked by friendly pieces. But these are not nearly worth as much as those to empty squares or captures. Most engines award zero for such moves in their mobility evaluation term.
A method that averages mobility homogeneously over all squares is not even self-consistent. Imagine a piece that can make one orthogonal step everywhere, and slide like a Bishop on the black squares. Such a piece has a lower number of moves averaged over all squares than a Bishop, while it is obviously much better, as it is upward compatible. Of course you will usually keep it on the black squares, but it is worth a great deal that from there you also attack white squares, and can temporarily stray there when the need arises.
So your calculation is really too simplified to prove anything.
I agree with most of what you're saying but I still question whether the value of a piece is primarily dependent on its endgame value.
What would be the value of the following pieces?
A. A Queen which promotes to a Ferz the moment there are 16 or fewer pieces on the board?
B. A Ferz which promotes to a Queen the moment there are 16 or fewer pieces on the board?
If A is greatly stronger than B, it suggests that what matters to piece value is overwhelming early game power. I doubt this is true for good players.
If both are pretty strong, it suggests that pieces are valuable at different points in the game, and the point where they are strongest matters the most to their value.
If B is greatly stronger than A, it suggests that what matters to piece value is endgame value as you suggest, and early to middle game piece strength doesn't matter much.
If both are pretty weak, it suggests that pieces are valuable at different points in the game, and the point where they are weakest matters the most to their value. I doubt this is true.
I don't know what the answer is here, but I would be pretty surprised if piece A's strength is dominated by the fact that it becomes a Ferz when half the pieces are gone, simply because it will likely be able to either improve your position so much or sacrifice itself for a lot more than that long before then. Would it be as strong as piece B? I'm not sure.
That would certainly be an interesting test. It reminds me of Chu Shogi, where almost all pieces promote, and some very strongly. (E.g. a Kirin, an 8-target leaper like Knight, promotes to Lion, which is worth about 60% more than a Queen.) This is not quite the same as upgrading it when a predetermined number of pieces is left, but in practice very much like it, since when the population drops below a certaing level, the promotion zone can no longer be effectively guarded, and promotion becomes unavoidable.
My experience with building engines for these kind of games is that it is very hard to evaluate material imbalances, and that probably the whole concept of piece values breaks down. We already know that piece values is merely an approximate method for estimating the effect of material imbalance on game outcome, which sometimes gets things very wrong; e.g. that 3 Queens lose without a chance against 7 Knights cannot be explained with piece values that are anywhere near reasonable when the army composition is more FIDE-like.
I guess you are right in saying that the value should be dominated by that in the phase where the game gets decided. Normally in chess-like games this would be the end-game. The difference between the current tactical value and this 'decisive value' of all pieces in the army could be called 'latent value'.
The problem is that if too much of the value of your army is latent (compared to that of the opponent), you would be overwhelmed before you would reach the game phase on which the decisive values are based. So that these values are no longer any good, and your latent value becomes an illusion. This would be the case with the Ferz that changes into the Queen too. Depending on the size of the game the player that has the piece that does the opposit is basically a Queen ahead, and the question is how much damage he can do with such a large advantage before the transition point is reached where the situation reverses.
And you are certainly right that pieces that will suffer a severe value drop will likely be traded before the drop manifest itself, when they are still strong enough to force such a trade. A piece that moves like a Queen should have no problem trading itself for a minor in a FIDE context. In Xiangqi the players will at some point seek to trade their Cannons, which initially are worth ~1.5 times as much as a Horse, for Horses at the stage where the instantaneous value gets about equal. It is hard to assign a value to such 'throw-away' pieces; it would be very dependent on what material is typically on the board that you could trade trade it for. A Queen demoting to Ferz at some point might do very poorly against an army that has compensates its current value with a host of Ferzes, as eventually it would have to be traded for a Ferz, while against an anrmy that mainly consisted of Rooks it would do much better.
I am still intrigued by the idea of determining piece value at one precise population density. I suppose this could be done by playing with rules where pieces never disappear, and then starting with the desired number of pieces. E.g. you could play with rules where after a capture some obstacle is placed on the square the capturing piece came from. (Because that is guaranteed to be empty.) This could be an inert object belonging to neither player.
I also think that accounting for the board being populated by just calculating the probability that (say) a Rook sees free paths of a certain length with a certain probability is fundamentally flawed. It would lead to the conclusion that on a board containing only a Rook and the enemy King has fewer moves than on an empty board (where it always has 14), because some of its moves could be blocked by the King. But that is not true; a King can never block any Rook moves, as it would be in check when it attempted that. So the Rook still has always 14 moves.
Thinking further along these lines, it is also not so hot to block an enemy Rook with your Queen. Or even with a Knight, when that Knight is not protected. So when there are 6 opponent pieces, you should not count that each following square in the Rook path has a 57/63 smaller probability of being reachable; you should only take the probability that an equal or lower valued protected piece blocks it into account. And with only few pieces on the board any piece should have only a small probability of being protected.
So the average mobility of the Rook doesn't drop nearly as fast with increasing board population as you might expect.
There are 30 different pieces on the Chess.com Variants server. I ordered them by my opinion of how powerful each one is, and using default rules (when such rules change movesets). "Any direction" excludes knight and camel paths. Since you cannot, by default, capture your own pieces, you cannot move to or past a square occupied by a friendly piece, or past an enemy piece. Here is how all of them appear (in the default theme) and move:
Berolina:
Point Value: 1
The berolina moves either one or two spaces diagonally on or below its home rank, and only one square afterwards. It captures by moving forward one square. If a berolina, stone general, or sergeant moves diagonally forward two squares to a square adjacent to the berolina, it can capture en passant by moving forwards on that turn. It will promote to your piece of choice on the eighth rank.
Pawn:
Point Value: 1
The pawn moves either one or two spaces forward on or below its home rank, and only one square afterwards. It captures by moving diagonally forward one square. If a pawn, soldier, or sergeant moves forward two squares to a square adjacent to the pawn, it can capture en passant by moving forward diagonally in the direction of the piece on that turn. It will promote to your piece of choice on the eighth rank.
Soldier:
Point Value: 1
The soldier moves either one or two spaces forward on or below its home rank, and only one square afterwards. It captures by moving forward one square. If a berolina, stone general, or sergeant moves forward two squares to a square adjacent to the soldier, it can capture en passant by moving forwards on that turn. It will promote to your piece of choice on the eighth rank.
Stone General:
Point Value: 1
The soldier moves either one or two spaces diagonally on or below its home rank, and only one square afterwards. It captures by moving diagonally forward one square. If a pawn, soldier, or sergeant moves forward to squares to a square adjacent to the stone general, it can capture en passant by moving forward diagonally in the direction of the piece on that turn. It will promote to your piece of choice on the eighth rank.
Sergeant:
Point Value: 1
The sergeant moves either one or two squares in a forward direction on or below its home rank, and only one square afterwards. It captures by moving in a forward direction. If a sargeant, berolina, or stone general moves diagonally forward two squares to a square adjacent to the sergeant, it can capture en passant by moving forwards. If a sergeant, soldier, or pawn moves forward two squares to a square adjacent to the sergeant, it can capture en passant by moving forward diagonally in the direction of the piece. It will promote to your piece of choice on the eighth rank.
Ferz:
Point Value: 1
The ferz moves one square in any diagonal direction. It can capture pieces one square diagonally from it.
Wazir:
Point Value: 1
The wazir moves one square in any straight direction. It can capture pieces one square horizontally or vertically from it.
Alfil:
AKA Elephant:
Point Value: 1
The alfil jumps two squares in any diagonal direction. This means it can jump over pieces one square diagonally from it. It can capture pieces two squares diagonally from it.
Dabbaba:
Point Value: 1
The dabbaba jumps two squares in any straight direction. This means it can jump over pieces one square horizontally or vertically from it. It can capture pieces two squares horizontally or vertically from it.
Xiangqi Horse:
Point Value: 2
The xiangqi horse moves one square forward, then one square in a direction diagonally forward from that direction on each move. It can capture pieces on a square that is two squares away in a straight line, and one square away from that one in a perpendicular direction, if its path is not blocked.
King:
Point Value: 3
The king moves one square in any direction. It can capture pieces one square from it. The king is royal by default. If a piece moves to a location where it can capture the royal on its next move, it is called check, and the piece must be captured, the path to the royal must be blocked, or the royal must move to a location where it is no longer under attack. If none of these options are available, or the last piece is captured, it is checkmate, and that side loses. The default point value for checkmate is 20. A royal piece cannot capture a defended piece. If the king (which must be royal) and a rook have not moved yet, there are no pieces between the king and rook, the king is not in check, and neither of the two squares in that direction are controlled by an enemy piece, the king can castle by moving two squares in that direction. The rook will move to the opposite side of the king on the square adjacent to it.
Knight:
Point Value: 3
The knight jumps to any square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction. This means it can jump over pieces in its path. It can capture pieces on a square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction.
Camel:
Point Value: 3
The camel jumps to any square that is three squares away in a straight direction, and one square away from that one in a perpendicular direction. This means it can jump over pieces in its path. It can capture pieces on a square that is three squares away in a straight direction, and one square away from that one in a perpendicular direction.
Grasshopper:
Point Value: 3
The grasshopper jumps in any direction to the square behind a piece in that direction. It can capture pieces one square behind another piece in that direction relative to it.
Alibaba:
Point Value: 3
The alibaba jumps two squares in any direction. This means it can jump over pieces one square from it. It can capture pieces two squares from it.
Alfil-Rider:
Point Value: 3
The alfil-rider jumps repeatedly two squares in any diagonal direction until it is blocked. It cannot change directions after the first jump. This means it can jump over pieces an odd number of squares from it diagonally. It can capture pieces an even number of squares diagonally from it, if its path is not blocked.
Dabbaba-Rider:
Point Value: 4
The dabbaba-rider jumps repeatedly two squares in any straight direction until it is blocked. It cannot change directions after the first jump. This means it can jump over pieces an odd number of squares from it horizontally or vertically. It can capture pieces an even number of squares horizontally or vertically from it, if its path is not blocked.
General:
Point Value: 5
The general moves one square in any direction or jumps to any square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction. This means it can jump over pieces in its path. It can capture pieces one square from it and on a square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction.
Bishop:
Point Value: 5
The bishop moves in any diagonal direction until it is blocked. It can capture pieces diagonally away from it, if its path is not blocked.
Rook:
AKA Chariot:
AKA Sailboat:
Point Value: 5
The rook moves in any straight direction until it is blocked. It can capture pieces horizontally or vertically away from it, if its path is not blocked.
Wildebeest:
Point Value: 5
The wildebeest jumps to any square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction or to any square that is three squares away in a straight direction, and one square away from that one in a perpendicular direction. This means it can jump over pieces in its path. It can capture pieces on a square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction, and on a square that is three squares away in a straight direction, and one square away from that one in a perpendicular direction.
Alibaba-Rider:
Point Value: 6
The alibaba-rider jumps two squares in any direction repeatedly until it is blocked. It cannot change directions after the first jump. This means it can jump over pieces an odd number of squares from it. It can capture pieces an even number of squares from it, if its path is not blocked.
Camel-Rider:
Point Value: 7
The camel-rider jumps to any square that is three squares away in a straight direction, and one square away from that one in a perpendicular direction repeatedly until it is blocked. It cannot change directions after the first jump. This means it can jump over pieces in its path if they do not line up with the jumping pattern. It can capture pieces on squares that are a multiple of three squares away in any straight direction, and a third of that number of squares away from that square in a perpendicular direction, if its path is not blocked.
Knight-Rider:
Point Value: 7
The knight-rider jumps to any square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction repeatedly until it is blocked. It cannot change directions after the first jump. This means it can jump over pieces in its path if they do not line up with the jumping pattern. It can capture pieces on squares that are an even number of squares away in any straight direction, and half of that number of squares away from that square in a perpendicular direction, if its path is not blocked.
Dragon Bishop:
Point Value: 7
The dragon bishop moves one square forward, then one square in a direction diagonally forward from that direction on each move or in any diagonal direction until it is blocked. It can capture pieces on a square that is two squares away in a straight line, and one square away from that one in a perpendicular direction and diagonally away from itself, if its path is not blocked.
Archbishop:
AKA Hawk:
Point Value: 7
The archbishop jumps to any square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction or moves in any diagonal direction until it is blocked. This means it can jump over pieces in its path. It can capture pieces on a square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction, and diagonally away from itself, if its path is not blocked.
Chancellor:
AKA Seirawan Elephant:
Point Value: 7
The chancellor jumps to any square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction or moves in any straight direction until it is blocked. This means it can jump over pieces in its path. It can capture pieces on a square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction and horizontally or vertically away from itself, if its path is not blocked.
1-Point Queen:
Point Value: 1
The 1-point queen moves in any direction until it is blocked. It can capture pieces in eight directions away from it, if its path is not blocked. It is the standard promotion piece in 4-Player Chess, since 4-Player Chess is typically a game of points.
Queen:
Point Value: 9
The queen moves in any direction until it is blocked. It can capture pieces in eight directions away from it, if its path is not blocked.
Amazon:
Point Value: 12
The amazon jumps to any square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction or moves in any direction until it is blocked. It can capture pieces on a square that is two squares away in a straight direction, and one square away from that one in a perpendicular direction, or in eight directions away from it, if its path is not blocked.